# CI und CD wie vorgehen



## OnDemand (12. Apr 2019)

Hallo zusammen,

ich habe mir Jenkins installiert (vorher bamboo) In Bamboo konnte ich mehrere Umgebungen anlegen (Test, Production usw)

Nun habe ich das in Jenkins noch nicht gefunden, meine Projekte hab ich daher wie folgt konfiguriert:

Jenkins holt von Bitbucket Änderungen aus MASTER -> Baut -> Deployed auf Server per SSH << das ist mein Produktivsystem

Nun brauch ich das noch für Test, sollte ich da das Selbe anlegen, aber erst Build anstoßen, wenn ein  Branch "Test" was eingechecked wurde und dann auf Testserver deployen?


Arbeite derzeit immer im Master, da ich alleine bin, sollte ich mir abgewöhnen^^
Vielleicht hat noch jemand eine bessere Lösung, wie ich Jenkis aufsetzen kann um Produktive deployments und Test Deploy strikter zu trennen


----------



## mrBrown (12. Apr 2019)

Naja, hängt davon ab, wie du das ganze gerne möchtest...

Wie ist denn dein genereller Workflow?

wenn alles im Branch "test" auf den Test-Server und alles im Branch "master" auf den Prod-Server deployed werden soll, kann man das durchaus mit zwei Jobs lösen, die jeweils genau das machen.
Man könnte auch einen Job haben, der auf dem Test-System deployed, danach aber nicht beendet wird, sondern auf Bestätigung des Nutzers wartet und dann auf dem Prod-System deployed. Gibt vermutlich unendlich Möglichkeiten.




NicoDeluxe hat gesagt.:


> Arbeite derzeit immer im Master, da ich alleine bin, sollte ich mir abgewöhnen^^


Immer auf dem Master arbeiten ist nicht zwingend was schlechtes...


----------



## OnDemand (13. Apr 2019)

Vielen Dank, dann ist ja nicht ganz so falsch wie ich es eingerichtet habe 

Kennst du dich näher mit Jenkins aus? Hab eingestellt, dass es bei Änderungen bauen soll, macht es aber nicht. Finde auch keine Einstellung wo ich das Intervall zum Anfragen einer Änderung bei Bitbucket einstellen kann oder so. Hast du oder jemand anderes eine Idee?


----------



## mrBrown (13. Apr 2019)

NicoDeluxe hat gesagt.:


> Vielen Dank, dann ist ja nicht ganz so falsch wie ich es eingerichtet habe


Es gibt halt so grob 56.857.452 Wege, das einzurichten 




NicoDeluxe hat gesagt.:


> Kennst du dich näher mit Jenkins aus? Hab eingestellt, dass es bei Änderungen bauen soll, macht es aber nicht. Finde auch keine Einstellung wo ich das Intervall zum Anfragen einer Änderung bei Bitbucket einstellen kann oder so. Hast du oder jemand anderes eine Idee?



Gibt mehrere Wege, das einzustellen. Was für ein Job ist es denn überhaupt und wie hast du diesen Konfiguriert?

Üblich wäre entweder Triggern durch den Commit/Push, der Hoster des git-Repos muss dann den Jenkins installieren - das muss auf beiden Seiten eingerichtet sein - oder Abfragen des SCMs in regelmäßigen Abständen, das muss man nur Jenkinsseitig einrichten, sollte dann aber einen entsprechend kleinen Zeitraum wählen, dass es zum Workflow passt.


----------



## mihe7 (13. Apr 2019)

Wir machen das per "Webhook". Da wir aber kein Bitbucket verwenden, schau mal in eine Anleitung. Kurz gegoogelt: https://mohamicorp.atlassian.net/wi.../Configuring+Webhook+To+Jenkins+for+Bitbucket


----------

