Open pe3 opened 11 years ago
Muutama linkki, joissa tietoa halukkaille: http://guides.beanstalkapp.com/deployments/deploy-with-capistrano.html http://www.linuxjournal.com/magazine/using-capistrano
Deploying With Capistrano Without Rails - http://ryanflorence.com/deploying-with-capistrano-without-rails/
@kyyberi tarkoittaako tämä nyt sitä, että ensimmäinen hommamme on muuntaa ckan:in asennusohje capistrano-skriptiksi?
Tutkailin eilen pikaisesti asentelua - hyvä etenemistapa vois olla ensin asentaa CKAN itselleen lokaalisti puolimanuaalisesti kirjoittamalla asennusohje Rake-skriptiksi. Capistrano on aika lähellä Rakea, sitten kun haluaa siirtyä etätoimintoihin. Rupesin jo kirjoittamaan skriptiä joka hakee kaikkien CKANin vaatimien ohjelmistojen versionumerot, mutta se jäi kesken.
Hyvä! Tarvitsemme joka tapauksessa Rubyä, joten...
Asensin servulle RVM:n, jonka kautta hallitaan Ruby asennuksia. Ehdotan että serverillä ajetaan ohjelmia käyttäjällä: 'kayttaja'. Sen profilessa on nyt defaultina ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
RVM on nyt single user, ei siis kaikilla käytössä.
Olin kirjoittanu läppärilleni tämmöisen ja unohtanu sen sinne homehtumaan. Kopsaan sen tähän talteen ja tiedoksi muille. Kirjoitin tän alunperin englanniksi, kun ajattelin, että tästä saattaa jossakin vaiheessa kehkeytyä kansainvälisestikin kiinnostava proggis.
We want to customize and set up our own CKAN 2 instance. We want to use a distributed development model where individual developers who we dont even know can test and improve on the full system on their own computers (and send us pull requests). We might have a separate staging machine where contributions are first tested or maybe one of the server administrators does the double checking on his laptop.
In the spirit of DevOps it is important to automate different operational processes as much as possible. An upgrade should be fully automated and there should be an undo so that it is possible to quickly return to a previous deployment. For example Capistrano seems to provide this kind of functionality (at least for Rails projects). More research on this is needed.
I know it is a lot of work. Luckily we don't have to cover all manual operations at first but we can improve the deployment scripts gradually. Hoverver over time this may become very interesting.
The first step is to enable easy development environment set up.
It seems that CKAN's software requirements can be met with an OSX machine relying on Homebrew packet management.
Requirement | Description | Brew package |
---|---|---|
Python | The Python programming language, v2.6 or 2.7 | python |
PostgreSQL | The PostgreSQL database system, v8.4 or newer | postgresql |
libpq | The C programmer’s interface to PostgreSQL | postgresql [1] |
pip | A tool for installing and managing Python packages | pip [2] |
virtualenv | The virtual Python environment builder | available as pip [3] |
Git | A distributed version control system | git |
Apache Solr | A search platform | solr |
Jetty | An HTTP server (used for Solr) | jetty |
OpenJDK 6 JDK | The Java Development Kit | osx default? [4] |
[1] = libpq is included in the postgresql brew package
[2] = pip is included in the python brew package
[3] = can be installed with pip install virtualenv
[4] = I haven't found openjdk as a package. Could OSX default JDK be used? Terminal java -version
says java version "1.6.0_51"
Is that different from OpenJDK 6 JDK?
Pyritään ottamaan CKAN-instanssi mahdollisimman täydellisesti versionhallinnan ja toistettavuuden piiriin. Tavoitteena on, että ajossa olevasta instanssista voi tehdä itselleen täydellisen lokaalin kopion yhdellä skriptillä.
Tämä tarkoittaa manuaalisen konffaililun sijaan ylläpitoskriptien kirjoittamista jollakin deployment-kehikolla. Projektista kiinnostuneilla ihmisillä on kokemusta Capistranosta. Ruvetaan selvittelemään sen soveltuvuutta.
Ennen Capistranon käyttöönottoa voi olla fiksua opetella asentamaan CKAN itsellee pulimanuaalisesti Rakella. Capistranon webbisivulla todetaan: "Capistrano extends the Rake DSL with methods specific to running commands on() servers". Rake vois siksi olla helppo ensimmäinen askel lokaaliin kokeiluun. Sen jälkeen ainakin OSX:ssä voi helposti laittaa oman SSH-serverin pystyyn, jolle voi ruveta juttelemaan Capistranolla. Capistranon kokeilemisen voi aloittaa helpohkolla serverin tilan kyselyllä.