{"id":340,"date":"2021-06-04T23:35:26","date_gmt":"2021-06-04T21:35:26","guid":{"rendered":"https:\/\/www.kehrwasser.com\/blog\/?p=340"},"modified":"2021-06-04T23:35:26","modified_gmt":"2021-06-04T21:35:26","slug":"dockerimage-fuer-ci-cd-mit-sloppy-cli","status":"publish","type":"post","link":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/","title":{"rendered":"Dockerimage f\u00fcr CI\/CD mit Sloppy CLI"},"content":{"rendered":"<p>In CI\/CD-Situationen, also in Situationen, in denen wir automatisiert gewisse Aussagen \u00fcber und Aufgaben am aktuellen Entwicklungsstand einer Software vornehmen wollen, sind wir h\u00e4ufig auf die Kommandozeile angewiesen.<\/p>\n<pre class=\"wp-block-preformatted\"><strong>TL;DR:<\/strong> Das Runner-Image z.B. f\u00fcr GitLab ist auf DockerHub frei verf\u00fcgbar <a href=\"https:\/\/hub.docker.com\/repository\/docker\/dielok\/sloppy-cicd\">dielok\/sloppy-cicd<\/a>. Wir werden die Dockerfile auch in K\u00fcrze bei Github ver\u00f6ffentlichen.<\/pre>\n<p>\u00dcber entsprechende Skripte, also aneinandergereihte Befehle, automatisieren wir dann den Prozess und visualisieren ihn in Form von sogenannten Build- und Deploymentpipelines.<\/p>\n<p>Auch mit dem Cloud-Anbieter Sloppy muss dies nat\u00fcrlich irgendwie innerhalb eines Skriptes m\u00f6glich sein, damit wir den Entwicklungsstand auch automatisiert ver\u00f6ffentlichen k\u00f6nnen. So kann die Anwendung auch letztlich von Endnutzern verwendet werden. Dies kann ein Server sein, oder ein ganzes Netzwerk aus Servern, daher sprechen wir von Umgebungen. Auf der sogenannten Produktivumgebung l\u00e4uft die Anwendung f\u00fcr den Endverbraucher. Umgangssprachlich &#8222;Prod&#8220;.<\/p>\n<p>Auch auf Umgebungen die nicht produktiv sind, m\u00fcssen die aktuellen Entwicklungsst\u00e4nde ausgerollt werden k\u00f6nnen. Diese dienen beispielsweise den Tests der Qualit\u00e4tssicherung, Demonstrationen f\u00fcr Stakeholder  und der Beobachtung des Fortschritts durch Manager. Das soll so zuverl\u00e4ssig, einfach und schnell wie m\u00f6glich ablaufen: Also automatisiert.<\/p>\n<p>Das geht mit Sloppy im Handumdrehen. Super einfach ist ein neues Projekt (Umgebung) angelegt, Services, Apps in Form von Docker-Containern definiert.Nicht nur in dem UI. dem Portal von Sloppy. Sloppy bietet eine gut entwickelte CLI-Anwendung, mit der Apps, Services und Projekte verwaltet und gesteuert werden k\u00f6nnen.<\/p>\n<p>Und so k\u00f6nnen auch die Deployment-Schritte in der Pipeline mit Sloppys CLI-Tool automatisiert werden. Das Skript f\u00fcr diesen Schritt ist dann gerade einmal zwei Zeilen lang:<\/p>\n<p><code>script:<\/code>\n<br><code>        - export SLOPPY_APITOKEN=&quot;$SLOPPY_APITOKEN&quot;<\/code>\n<br><code>        - sloppy change --image docker\/container:${CI_COMMIT_REF_NAME} umgebung\/service\/app<\/code><\/p>\n<p>(Auszug aus der CI\/CD-Konfiguration f\u00fcr Gitlab)<\/p>\n<p>Zu verbessern w\u00e4re, dass dieser Pipelineschritt noch wartet, bis das Deployment erfolgreich abgeschlossen wurde und der Service gestartet werden konnte.<\/p>\n<p>Doch wie bekommt die Pipeline die Sloppy CLI, sodass der Befehl <code>sloppy<\/code> \u00fcberhaupt zur Verf\u00fcgung steht? Entweder l\u00e4dt und installiert die Pipeline die Binaries bei jeder Ausf\u00fchrung dieses Schrittes oder die Anwendung wird bereits in den zugrundeliegendeliegenden Container installiert und steht immer gleich zur Verf\u00fcgung.<\/p>\n<p>F\u00fcr unser Zwecke habe ich den Container mal erstellt und auf Docker Hub verf\u00fcgbar gemacht: <a href=\"https:\/\/hub.docker.com\/repository\/docker\/dielok\/sloppy-cicd\">dielok\/sloppy-cicd<\/a>. Viele Erfolg.<\/p>","protected":false},"excerpt":{"rendered":"<p>In CI\/CD-Situationen, also in Situationen, in denen wir automatisiert gewisse Aussagen \u00fcber und Aufgaben am aktuellen Entwicklungsstand einer Software vornehmen wollen, sind wir h\u00e4ufig auf die Kommandozeile angewiesen. TL;DR: Das Runner-Image z.B. f\u00fcr GitLab ist auf DockerHub frei verf\u00fcgbar dielok\/sloppy-cicd. Wir werden die Dockerfile auch in K\u00fcrze bei Github ver\u00f6ffentlichen. \u00dcber entsprechende Skripte, also aneinandergereihte [&hellip;]<\/p>","protected":false},"author":1,"featured_media":343,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[42],"tags":[77,75,74,45,90,91,86],"class_list":["post-340","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technologien","tag-cicd","tag-continuous-delivery","tag-continuous-integration","tag-devops","tag-docker","tag-gitlab","tag-sloppy"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dockerimage f\u00fcr CI\/CD mit Sloppy CLI - Looped Learning<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dockerimage f\u00fcr CI\/CD mit Sloppy CLI - Looped Learning\" \/>\n<meta property=\"og:description\" content=\"In CI\/CD-Situationen, also in Situationen, in denen wir automatisiert gewisse Aussagen \u00fcber und Aufgaben am aktuellen Entwicklungsstand einer Software vornehmen wollen, sind wir h\u00e4ufig auf die Kommandozeile angewiesen. TL;DR: Das Runner-Image z.B. f\u00fcr GitLab ist auf DockerHub frei verf\u00fcgbar dielok\/sloppy-cicd. Wir werden die Dockerfile auch in K\u00fcrze bei Github ver\u00f6ffentlichen. \u00dcber entsprechende Skripte, also aneinandergereihte [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/\" \/>\n<meta property=\"og:site_name\" content=\"Looped Learning\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-04T21:35:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash-1024x683.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kevin Heusinger\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kevin Heusinger\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/\",\"url\":\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/\",\"name\":\"Dockerimage f\u00fcr CI\/CD mit Sloppy CLI - Looped Learning\",\"isPartOf\":{\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash.jpg?fit=4988%2C3325&ssl=1\",\"datePublished\":\"2021-06-04T21:35:26+00:00\",\"author\":{\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/#\/schema\/person\/d05f6ec3af9fdb4eb51b5aac1f9e91cf\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash.jpg?fit=4988%2C3325&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash.jpg?fit=4988%2C3325&ssl=1\",\"width\":4988,\"height\":3325},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/www.kehrwasser.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dockerimage f\u00fcr CI\/CD mit Sloppy CLI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/#website\",\"url\":\"https:\/\/www.kehrwasser.com\/blog\/\",\"name\":\"Looped Learning\",\"description\":\"#innovation, #ki, #newWork, #agile, #validatedLearning\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.kehrwasser.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/#\/schema\/person\/d05f6ec3af9fdb4eb51b5aac1f9e91cf\",\"name\":\"Kevin Heusinger\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.kehrwasser.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/99ba53c67cb33396656b9736e215b87b954fd3c27c0e38ddc100f885da526bfb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/99ba53c67cb33396656b9736e215b87b954fd3c27c0e38ddc100f885da526bfb?s=96&d=mm&r=g\",\"caption\":\"Kevin Heusinger\"},\"sameAs\":[\"https:\/\/www.kehrwasser.com\"],\"url\":\"https:\/\/www.kehrwasser.com\/blog\/author\/kw-kevin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dockerimage f\u00fcr CI\/CD mit Sloppy CLI - Looped Learning","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/","og_locale":"de_DE","og_type":"article","og_title":"Dockerimage f\u00fcr CI\/CD mit Sloppy CLI - Looped Learning","og_description":"In CI\/CD-Situationen, also in Situationen, in denen wir automatisiert gewisse Aussagen \u00fcber und Aufgaben am aktuellen Entwicklungsstand einer Software vornehmen wollen, sind wir h\u00e4ufig auf die Kommandozeile angewiesen. TL;DR: Das Runner-Image z.B. f\u00fcr GitLab ist auf DockerHub frei verf\u00fcgbar dielok\/sloppy-cicd. Wir werden die Dockerfile auch in K\u00fcrze bei Github ver\u00f6ffentlichen. \u00dcber entsprechende Skripte, also aneinandergereihte [&hellip;]","og_url":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/","og_site_name":"Looped Learning","article_published_time":"2021-06-04T21:35:26+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash-1024x683.jpg","type":"image\/jpeg"}],"author":"Kevin Heusinger","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Kevin Heusinger","Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/","url":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/","name":"Dockerimage f\u00fcr CI\/CD mit Sloppy CLI - Looped Learning","isPartOf":{"@id":"https:\/\/www.kehrwasser.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#primaryimage"},"image":{"@id":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash.jpg?fit=4988%2C3325&ssl=1","datePublished":"2021-06-04T21:35:26+00:00","author":{"@id":"https:\/\/www.kehrwasser.com\/blog\/#\/schema\/person\/d05f6ec3af9fdb4eb51b5aac1f9e91cf"},"breadcrumb":{"@id":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#primaryimage","url":"https:\/\/i0.wp.com\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash.jpg?fit=4988%2C3325&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash.jpg?fit=4988%2C3325&ssl=1","width":4988,"height":3325},{"@type":"BreadcrumbList","@id":"https:\/\/www.kehrwasser.com\/blog\/2021\/06\/04\/dockerimage-fuer-ci-cd-mit-sloppy-cli\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.kehrwasser.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Dockerimage f\u00fcr CI\/CD mit Sloppy CLI"}]},{"@type":"WebSite","@id":"https:\/\/www.kehrwasser.com\/blog\/#website","url":"https:\/\/www.kehrwasser.com\/blog\/","name":"Looped Learning","description":"#innovation, #ki, #newWork, #agile, #validatedLearning","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kehrwasser.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/www.kehrwasser.com\/blog\/#\/schema\/person\/d05f6ec3af9fdb4eb51b5aac1f9e91cf","name":"Kevin Heusinger","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.kehrwasser.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/99ba53c67cb33396656b9736e215b87b954fd3c27c0e38ddc100f885da526bfb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/99ba53c67cb33396656b9736e215b87b954fd3c27c0e38ddc100f885da526bfb?s=96&d=mm&r=g","caption":"Kevin Heusinger"},"sameAs":["https:\/\/www.kehrwasser.com"],"url":"https:\/\/www.kehrwasser.com\/blog\/author\/kw-kevin\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.kehrwasser.com\/blog\/wp-content\/uploads\/2021\/06\/ian-taylor-jOqJbvo1P9g-unsplash.jpg?fit=4988%2C3325&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/posts\/340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/comments?post=340"}],"version-history":[{"count":2,"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/posts\/340\/revisions"}],"predecessor-version":[{"id":342,"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/posts\/340\/revisions\/342"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/media\/343"}],"wp:attachment":[{"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/media?parent=340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/categories?post=340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kehrwasser.com\/blog\/wp-json\/wp\/v2\/tags?post=340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}