You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Kun kehittäjä puskee koodia Traconin CI:n piirissä olevan projektin GitHub-repon master-haaraan, seuraavat stepit suoritetaan automaattisesti:

  1. Build: Docker-imagen rakentaminen
  2. Test: Testien ajaminen uudessa Docker-imagessa
  3. Push: Uuden Docker-imagen toimitus Docker Hubiin
  4. Deploy: Sovelluksesta ajossa olevien instanssien päivittäminen uuteen versioon (huom. (warning) suoraan tuotantoon – harkitaan mahdollisia staging-instansseja jos tästä tulee ongelmia)

Kirjoitushetkellä seuraavat projektit ovat CI:n piirissä:

CI-putkea pyörittää Jenkins, jossa buildit laukaistaan GitHubin lähettämällä webhookilla.

Mikä ei tapahdu automaattisesti

  • tietokantamigraatiot – esim. sudo docker exec kompassi.eu-gunicorn python manage.py migrate (tai kompassin tapauksessa mieluummin setup kuin migrate)

Uuden projektin lisääminen Jenkinsiin

Käytetään vain Pipeline-tyyppisiä projekteja, jos ei ole erityisen painavaa syytä tehdä vanhanmallista projektia. Pipelinen sisältö tulee Jenkinsfilestä projektin versionhallintareposta. Katso mallia ylläolevista.

  1. Viritä projektille Jenkinsfile
  2. Luo projektille buildi Jenkinsiin
  3. Viritä GitHubiin projektille service joka huutelee Jenkinsille

Haluan tunnuksen Jenkinsiin

TECH-95 - Getting issue details... STATUS

Kysy Japsulta.

Jenkinsin varmuuskopion palauttaminen

monokkelilla
sudo docker rm -f jenkins.tracon.fi
sudo docker volume rm jenkins.tracon.fi-data
sudo docker volume create --name jenkins.tracon.fi-data
sudo cat /var/backups/jenkins/jenkins.tracon.fi.tar | sudo docker run --rm -i --volume jenkins.tracon.fi-data:/var/jenkins_home debian:jessie tar -xv -C /

Tämän jälkeen nosta Jenkins takaisin pystyyn Ansiblella:

omalla työasemallasi
ansible -sKt jenkins -l monokkeli.tracon.fi tracon.yml
  • No labels