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

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

Kysy Japsulta.

Jenkinsin varmuuskopion palauttaminen

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:

ansible -sKt jenkins -l monokkeli.tracon.fi tracon.yml