{"id":34578,"date":"2018-02-02T11:05:14","date_gmt":"2018-02-02T11:05:14","guid":{"rendered":"https:\/\/stage.cactus-now.com\/cactus-nieuws\/continuous-integration-and-delivery-process\/"},"modified":"2026-06-01T17:12:07","modified_gmt":"2026-06-01T14:12:07","slug":"continuous-integration-and-delivery-process","status":"publish","type":"post","link":"https:\/\/stage.cactus-now.com\/nl\/blog\/continuous-integration-and-delivery-process\/","title":{"rendered":"Deel 6: continuous integration en delivery (Fastlane + Jenkins)"},"content":{"rendered":"\n<p>Hoe vaak moet u uw app bouwen voor DEV-, QA-, STAGE-, PREPROD-, PROD-, enz.-omgevingen?<\/p>\n\n\n<p>Er wordt zoveel tijd verspild aan het bouwen van een.ipa-bestand, het uploaden ervan naar Crashlytics (HockeyApp, TestFlight, enz.), het informeren van het QA-team over de nieuwste build, enz.<\/p>\n\n\n<p>Naar mijn mening betekent succesvol zijn dat je je tijd besteedt aan daadwerkelijk werk, bijvoorbeeld aan het werk. code schrijven. Het opzetten van een continu integratie- en leveringsproces is tegenwoordig van cruciaal belang geworden, omdat het u helpt bugs vroeg in de ontwikkelingscyclus op te lossen en veel ontwikkelaarstijd bespaart.<\/p>\n\n\n<p>Ok\u00e9, bla bla bla. Laten we wat theorie over CI\/CD lezen.<\/p>\n\n\n<p><strong><span style=\"color: #000000;\">Continue integratie (CI)<\/span> <\/strong> is een ontwikkelingspraktijk waarbij ontwikkelaars meerdere keren per dag code moeten integreren in een gedeelde repository. Elke check-in wordt vervolgens geverifieerd door een geautomatiseerde build, waardoor teams problemen vroegtijdig kunnen detecteren.<\/p>\n\n\n<p>Er zijn veel tools beschikbaar die u kunnen helpen bij de continue integratie van iOS apps zoals Fastlane, Xcode Server, Jenkins, Travis en anderen.<\/p>\n\n\n<p>Wij kozen <span style=\"color: #000000;\"><strong>Fastlane<\/strong> + <strong>Jenkins<\/strong>.<\/span><\/p>\n\n\n<p><strong><span style=\"color: #000000;\">Continue levering (CD)<\/span> <\/strong> is een software-engineeringbenadering waarbij teams software in korte cycli produceren, zodat de software op elk moment betrouwbaar kan worden vrijgegeven. Het is gericht op het sneller en vaker bouwen, testen en vrijgeven van software.<\/p>\n\n\n<p><span style=\"color: #000000;\"><strong>Waarom Continuous Delivery gebruiken?<\/strong><\/span><br>1. Bespaar dagen met het voorbereiden van app-inzendingen, het uploaden van schermafbeeldingen en het vrijgeven van de app.<br>2. Een collega op vakantie en er moet een kritieke bugfix worden vrijgegeven? Vertrouw er niet op dat \u00e9\u00e9n persoon updates vrijgeeft.<br>3. Verhoog de softwarekwaliteit en reactietijd met frequentere en kleinere releases.<\/p>\n\n\n<p><em>Laten we uw builds automatiseren<\/em><\/p>\n\n\n<p><span style=\"color: #000000;\"><strong>Fastlane: vereisten<\/strong><\/span><\/p>\n\n\n<p>Uw ruby-versie moet 2.4.0 of nieuwer zijn.<br><script src=\"https:\/\/gist.github.com\/MaksimVialykh\/77c258e96274f31cc38ab97873b88dac.js\"><\/script><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Robijn bijwerken<\/li>\n<\/ul>\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/docs.fastlane.tools\/getting-started\/ios\/setup\/\" target=\"_blank\">Installeren<\/a> Fastlane<\/li>\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\"><span style=\"color: #000000;\"><strong>Fastlane: Cre\u00eber eenvoudige configuratie<\/strong><\/span><\/h2>\n\n\n<ul class=\"wp-block-list\">\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/drive.google.com\/file\/d\/1xsIDrHA0Ql6bu5SZ4tW4jDFN9o5oH6gm\/view\" target=\"_blank\">Kopieer<\/a> de Fastlane-map in uw project<\/li>\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/gist.github.com\/MaksimVialykh\/c3866541f13e397c1f725e74575dc963#file-fastlanecommand-bash\" target=\"_blank\">Openen<\/a> een terminal en ga naar uw projectmap<\/li>\n<\/ul>\n\n\n<p>Dat wil zeggen dat u uw builds kunt automatiseren door alleen deze opdracht te gebruiken.<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Je hebt Fastlane succesvol toegevoegd met behulp van een <a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/gist.github.com\/MaksimVialykh\/063069c33f49c84ec7a892eef02c5172#file-fastfile-ruby\" target=\"_blank\">sjabloon<\/a>.<\/li>\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\"><span style=\"color: #000000;\"><strong>Jenkins: Taak toevoegen<\/strong><\/span><\/h2>\n\n\n<p>Ik zal je niet vertellen hoe je Jenkins moet installeren. Je kunt naar <a href=\"https:\/\/jenkins.io\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">de offici\u00eble site<\/a> voor deze informatie.<\/p>\n\n\n<p>We beginnen met het cre\u00ebren van banen.<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Maak een taak en voeg de stap &#8220;Execute shell&#8221; toe aan de build-sectie.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1000\" height=\"932\" src=\"https:\/\/stage.cactus-now.com\/wp-content\/uploads\/2018\/02\/1_gG77LHzWaezoXDU2SbrEUg-1.png\" alt=\"fastlane + Jenkins\" class=\"wp-image-7914\" srcset=\"https:\/\/stage.cactus-now.com\/wp-content\/uploads\/2018\/02\/1_gG77LHzWaezoXDU2SbrEUg-1.png 1000w, https:\/\/stage.cactus-now.com\/wp-content\/uploads\/2018\/02\/1_gG77LHzWaezoXDU2SbrEUg-1-300x280.png 300w, https:\/\/stage.cactus-now.com\/wp-content\/uploads\/2018\/02\/1_gG77LHzWaezoXDU2SbrEUg-1-768x716.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n<p><em>Jenkins-baan. Voer de shell-stap uit in de sectie Build.<\/em><\/p>\n\n\n<h2 class=\"wp-block-heading\"><span style=\"color: #000000;\"><strong>Resultaat<\/strong><\/span><\/h2>\n\n\n<p>U heeft de Fastlane-sjabloon ge\u00efntegreerd in uw project. Dat kan werken zonder CI-tools zoals Jenkins, Travis, etc. Daarvoor waren alleen Fastlane gem en de juiste certificaten op de bouwmachine nodig.<\/p>\n\n\n<p>Ook hebben we Fastlane-werk ge\u00efntegreerd als een baan bij Jenkins. Het is gemakkelijker om met het Jenkins-paneel te werken in plaats van met een terminal, nietwaar?<\/p>\n\n\n<p>Natuurlijk kunt u uw Fastlane-sjabloon maken met het commando \u201cFastlane init\u201d en vervolgens nieuwe stappen toevoegen aan uw Fastlane Lane- of Jenkins-taak. De uitgebreide configuratie zal worden onderzocht in een aparte serie: \u201cContinu Integratie- en Leveringsprocessen\u201d.<\/p>\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p> Onthoud dat u een keer een paar uur aan automatisering besteedt en dat u blij zult zijn voor alle komende dagen\/maanden\/jaren die u aan het project besteedt.<\/p>\n<\/blockquote>\n\n\n<p>Dit was een kleine handleiding over bouwautomatisering met Fastlane en Jenkins.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoe vaak moet u uw app bouwen voor DEV-, QA-, STAGE-, PREPROD-, PROD-, enz.-omgevingen? Er wordt zoveel tijd verspild aan het bouwen van een.ipa-bestand, het uploaden ervan naar Crashlytics (HockeyApp, TestFlight, enz.), het informeren van het QA-team over de nieuwste build, enz. Naar mijn mening betekent succesvol zijn dat je je tijd besteedt aan daadwerkelijk [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":5618,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[637],"tags":[],"class_list":["post-34578","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"_links":{"self":[{"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/posts\/34578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/comments?post=34578"}],"version-history":[{"count":0,"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/posts\/34578\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/media\/5618"}],"wp:attachment":[{"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/media?parent=34578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/categories?post=34578"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stage.cactus-now.com\/nl\/wp-json\/wp\/v2\/tags?post=34578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}