{"data":{"site":{"siteMetadata":{"title":"IJHDev Blog","author":"Ian Hayward"}},"markdownRemark":{"id":"cdae340c-8dc2-5ebb-9eb5-3ad6aacab7fa","html":"<p>Easy to use CI/CD Image for Android builds</p>\n<!-- end -->\n<h1>What is it</h1>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; margin: 15px -30px !important max-width: 700px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAFABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQD/8QAFgEBAQEAAAAAAAAAAAAAAAAABAEC/9oADAMBAAIQAxAAAAHGscSMbn//xAAWEAEBAQAAAAAAAAAAAAAAAAAAAzH/2gAIAQEAAQUCXx//xAAWEQADAAAAAAAAAAAAAAAAAAABEDH/2gAIAQMBAT8BEX//xAAWEQEBAQAAAAAAAAAAAAAAAAABEDL/2gAIAQIBAT8BdE//xAAWEAADAAAAAAAAAAAAAAAAAAAAAhD/2gAIAQEABj8CFn//xAAaEAAABwAAAAAAAAAAAAAAAAAAARAhMZHh/9oACAEBAAE/ISkWHxP/2gAMAwEAAgADAAAAEPvP/8QAFhEAAwAAAAAAAAAAAAAAAAAAEDGB/9oACAEDAQE/EGQf/8QAFhEAAwAAAAAAAAAAAAAAAAAAARCh/9oACAECAQE/EBov/8QAGhABAAIDAQAAAAAAAAAAAAAAAREhABAxYf/aAAgBAQABPxBQFJvmKtBQhAIHxr//2Q=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"What is it\"\n        title=\"\"\n        src=\"/static/androidCISmall-2a653c29bf3049054c7650642809b02b-177e4.jpg\"\n        srcset=\"/static/androidCISmall-2a653c29bf3049054c7650642809b02b-6c2d5.jpg 175w,\n/static/androidCISmall-2a653c29bf3049054c7650642809b02b-3d17c.jpg 350w,\n/static/androidCISmall-2a653c29bf3049054c7650642809b02b-177e4.jpg 700w,\n/static/androidCISmall-2a653c29bf3049054c7650642809b02b-40bb7.jpg 1050w,\n/static/androidCISmall-2a653c29bf3049054c7650642809b02b-562d0.jpg 1400w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n      />\n    </span>\n  </span>\n  </p>\n<p>A maintained Android Image for CI pipelines. Can be used for any CICD that uses Docker hub, works with standard Android or Fastlane. Use the image as is or pull the code yourself and make it work for your specific needs.</p>\n<h2>Latest version</h2>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">image: ijhdev/gitlab-ci-fastlane-android</code></pre></div>\n<h1>How to use it</h1>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; margin: 15px -30px !important max-width: 700px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAFABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAgED/9oADAMBAAIQAxAAAAHYkLKgi//EABUQAQEAAAAAAAAAAAAAAAAAAABC/9oACAEBAAEFAlv/xAAVEQEBAAAAAAAAAAAAAAAAAAABEP/aAAgBAwEBPwFZ/8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQIBAT8BJ//EABQQAQAAAAAAAAAAAAAAAAAAABD/2gAIAQEABj8Cf//EABkQAAMBAQEAAAAAAAAAAAAAAAABESExQf/aAAgBAQABPyGQasvcOes//9oADAMBAAIAAwAAABD73//EABYRAQEBAAAAAAAAAAAAAAAAAAEAIf/aAAgBAwEBPxBByNL/xAAVEQEBAAAAAAAAAAAAAAAAAAABEP/aAAgBAgEBPxACT//EABsQAAICAwEAAAAAAAAAAAAAAAERADEhYXHh/9oACAEBAAE/EMib2bgEqF0ewj0VP//Z'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"how to use the Android Fastlane Image\"\n        title=\"\"\n        src=\"/static/howitworks-b10a32e5ad0a1f80b8e26f26bbce262e-177e4.jpg\"\n        srcset=\"/static/howitworks-b10a32e5ad0a1f80b8e26f26bbce262e-6c2d5.jpg 175w,\n/static/howitworks-b10a32e5ad0a1f80b8e26f26bbce262e-3d17c.jpg 350w,\n/static/howitworks-b10a32e5ad0a1f80b8e26f26bbce262e-177e4.jpg 700w,\n/static/howitworks-b10a32e5ad0a1f80b8e26f26bbce262e-40bb7.jpg 1050w,\n/static/howitworks-b10a32e5ad0a1f80b8e26f26bbce262e-562d0.jpg 1400w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n      />\n    </span>\n  </span>\n  </p>\n<h2>Example Gitlab .Yaml</h2>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">image: ijhdev/gitlab-ci-fastlane-android\n\nvariables:\n ANDROID_COMPILE_SDK: &quot;31&quot;\n ANDROID_BUILD_TOOLS: &quot;30.0.3&quot;\n ANDROID_SDK_TOOLS:   &quot;7583922&quot;\n LC_ALL: &quot;en_US.UTF-8&quot;\n LANG: &quot;en_US.UTF-8&quot;\n GIT_STRATEGY: clone\n\nbefore_script:\n - export GRADLE_USER_HOME=$(pwd)/.gradle\n - chmod +x ./gradlew\n\ncache:\n key: ${CI_PROJECT_ID}\n paths:\n   - .gradle/\n\nstages:\n - unit_test\n - debug_build\n\nunit_test:\n tags:\n   - your_build_runner\n dependencies: []\n stage: unit_test\n artifacts:\n   paths:\n     - fastlane/screenshots\n     - fastlane/logs\n   expire_in: 1 hour\n script:\n   - fastlane tests\n\ndebug_build:\n tags:\n   - your_build_runner\n dependencies: []\n stage: debug_build\n artifacts:\n   paths:\n     - app/build/outputs/\n   expire_in: 1 week\n script:\n   - bash ./version_updater.sh\n   - fastlane yourDebug</code></pre></div>\n<h2>Example Bitrise</h2>\n<h3>Open up bitrise and the project you want to change the image for</h3>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; margin: 15px -30px !important max-width: 700px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 56.22641509433962%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAIBBf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHuptDS/wD/xAAWEAEBAQAAAAAAAAAAAAAAAAAQAjH/2gAIAQEAAQUCZw//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAVEAEBAAAAAAAAAAAAAAAAAAAQAf/aAAgBAQAGPwJj/8QAGBAAAwEBAAAAAAAAAAAAAAAAARAxIYH/2gAIAQEAAT8h6wE4Mf8A/9oADAMBAAIAAwAAABB3D//EABYRAQEBAAAAAAAAAAAAAAAAAAEREP/aAAgBAwEBPxAaXP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABoQAAIDAQEAAAAAAAAAAAAAAAERACExURD/2gAIAQEAAT8QHQzy9lpAQErkxyiwyvBk/9k='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Bitrise page one\"\n        title=\"\"\n        src=\"/static/bitrise1-49800e9d071673e174c0ad1e3fa796fa-177e4.jpg\"\n        srcset=\"/static/bitrise1-49800e9d071673e174c0ad1e3fa796fa-6c2d5.jpg 175w,\n/static/bitrise1-49800e9d071673e174c0ad1e3fa796fa-3d17c.jpg 350w,\n/static/bitrise1-49800e9d071673e174c0ad1e3fa796fa-177e4.jpg 700w,\n/static/bitrise1-49800e9d071673e174c0ad1e3fa796fa-3e98a.jpg 795w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n      />\n    </span>\n  </span>\n  </p>\n<h3>From here click on Workflow</h3>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; margin: 15px -30px !important max-width: 700px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 47.66269477543538%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAKABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAECBf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHcGyShP//EABQQAQAAAAAAAAAAAAAAAAAAACD/2gAIAQEAAQUCX//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABQQAQAAAAAAAAAAAAAAAAAAACD/2gAIAQEABj8CX//EABgQAAMBAQAAAAAAAAAAAAAAAAABIRBR/9oACAEBAAE/IUoXjKLf/9oADAMBAAIAAwAAABAgH//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABkQAAIDAQAAAAAAAAAAAAAAAAERACExEP/aAAgBAQABPxBAAOhrszUDemJk9//Z'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Bitrise page two\"\n        title=\"\"\n        src=\"/static/bitrise2-4b033aa40f91950cbd45b93a8dc5a598-177e4.jpg\"\n        srcset=\"/static/bitrise2-4b033aa40f91950cbd45b93a8dc5a598-6c2d5.jpg 175w,\n/static/bitrise2-4b033aa40f91950cbd45b93a8dc5a598-3d17c.jpg 350w,\n/static/bitrise2-4b033aa40f91950cbd45b93a8dc5a598-177e4.jpg 700w,\n/static/bitrise2-4b033aa40f91950cbd45b93a8dc5a598-40bb7.jpg 1050w,\n/static/bitrise2-4b033aa40f91950cbd45b93a8dc5a598-44f46.jpg 1091w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n      />\n    </span>\n  </span>\n  </p>\n<h3>Once in Workflow navigate to Stack</h3>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; margin: 15px -30px !important max-width: 700px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 45.85308056872038%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAJABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAECBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAdymCKD/xAAWEAEBAQAAAAAAAAAAAAAAAAAAESD/2gAIAQEAAQUCRMf/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAUEAEAAAAAAAAAAAAAAAAAAAAg/9oACAEBAAY/Al//xAAYEAADAQEAAAAAAAAAAAAAAAAAARFRIP/aAAgBAQABPyGYhaI4/9oADAMBAAIAAwAAABAzD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABwQAAEDBQAAAAAAAAAAAAAAAAABEVEQMUFhof/aAAgBAQABPxC9UcR5IBo6Zr//2Q=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"Bitrise page three\"\n        title=\"\"\n        src=\"/static/bitrise3-1980f301e06cbf1075dcd5436ea9a7ba-177e4.jpg\"\n        srcset=\"/static/bitrise3-1980f301e06cbf1075dcd5436ea9a7ba-6c2d5.jpg 175w,\n/static/bitrise3-1980f301e06cbf1075dcd5436ea9a7ba-3d17c.jpg 350w,\n/static/bitrise3-1980f301e06cbf1075dcd5436ea9a7ba-177e4.jpg 700w,\n/static/bitrise3-1980f301e06cbf1075dcd5436ea9a7ba-4ebb4.jpg 844w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n      />\n    </span>\n  </span>\n  </p>\n<h3>Here you will see default Stack and Workflow Specific Stasks. If you want to change the build image for all steps then use default but if there is just one area failing for you then use the Workflow specific stacks</h3>\n<h1>But wait</h1>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; margin: 15px -30px !important max-width: 700px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAFABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAED/9oADAMBAAIQAxAAAAGmMNAZ3//EABoQAAEFAQAAAAAAAAAAAAAAAAIAAQQREiH/2gAIAQEAAQUCkdLKB7D/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAVEQEBAAAAAAAAAAAAAAAAAAAQEf/aAAgBAgEBPwGn/8QAGBAAAgMAAAAAAAAAAAAAAAAAAAEQEVH/2gAIAQEABj8CrIR//8QAGRABAAMBAQAAAAAAAAAAAAAAAQARMSFx/9oACAEBAAE/IbHbgz2F6FvmxEupP//aAAwDAQACAAMAAAAQ/D//xAAVEQEBAAAAAAAAAAAAAAAAAAABEP/aAAgBAwEBPxBn/8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQIBAT8QET//xAAaEAEBAAIDAAAAAAAAAAAAAAABEQAhUWGR/9oACAEBAAE/EAtEqItUlfMJL0EjZNAdYzd2HnP/2Q=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"theres more!\"\n        title=\"\"\n        src=\"/static/butwait-e4f13cb027d950225a6a2f116e33aa6a-177e4.jpg\"\n        srcset=\"/static/butwait-e4f13cb027d950225a6a2f116e33aa6a-6c2d5.jpg 175w,\n/static/butwait-e4f13cb027d950225a6a2f116e33aa6a-3d17c.jpg 350w,\n/static/butwait-e4f13cb027d950225a6a2f116e33aa6a-177e4.jpg 700w,\n/static/butwait-e4f13cb027d950225a6a2f116e33aa6a-40bb7.jpg 1050w,\n/static/butwait-e4f13cb027d950225a6a2f116e33aa6a-562d0.jpg 1400w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n      />\n    </span>\n  </span>\n  </p>\n<p>Also included in the Github codebase is an Android auto version updater. The version updater takes your Google Play store listing and checks it against your Gradle version. If your Gradle version number is higher than the app store it will stick with it, if it’s equal or lower that the store version then it will take that, +1 to the end, then change the Gradle version for that one.</p>\n<p>All you need to do is take the version_updater.sh file from the Github and put it in the root folder of your app and edit this line to have your bundle ID</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">curl -O playstorepage https://play.google.com/store/apps/details\\?id\\=&lt;YourBundleID&gt;</code></pre></div>\n<h1>Check out the Image and Code here</h1>\n<p>\n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block; margin: 15px -30px !important max-width: 700px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAFABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAID/9oADAMBAAIQAxAAAAGHTI0gB//EABgQAQEAAwAAAAAAAAAAAAAAAAEAAhMh/9oACAEBAAEFAgsA09v/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAVEQEBAAAAAAAAAAAAAAAAAAABEP/aAAgBAgEBPwFn/8QAFxAAAwEAAAAAAAAAAAAAAAAAAAExEf/aAAgBAQAGPwKiWFP/xAAZEAADAAMAAAAAAAAAAAAAAAAAAREhQWH/2gAIAQEAAT8hYlmiy9F0H//aAAwDAQACAAMAAAAQgC//xAAVEQEBAAAAAAAAAAAAAAAAAAABEP/aAAgBAwEBPxAJ/8QAFREBAQAAAAAAAAAAAAAAAAAAAAH/2gAIAQIBAT8QpH//xAAaEAEBAAMBAQAAAAAAAAAAAAABEQAhQTFR/9oACAEBAAE/EL6q0dife40AjU3duIzQb9L3P//Z'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"links\"\n        title=\"\"\n        src=\"/static/library-07a3f1bf3197bcb5d1eb7fc4b3cc084b-177e4.jpeg\"\n        srcset=\"/static/library-07a3f1bf3197bcb5d1eb7fc4b3cc084b-6c2d5.jpeg 175w,\n/static/library-07a3f1bf3197bcb5d1eb7fc4b3cc084b-3d17c.jpeg 350w,\n/static/library-07a3f1bf3197bcb5d1eb7fc4b3cc084b-177e4.jpeg 700w,\n/static/library-07a3f1bf3197bcb5d1eb7fc4b3cc084b-40bb7.jpeg 1050w,\n/static/library-07a3f1bf3197bcb5d1eb7fc4b3cc084b-562d0.jpeg 1400w\"\n        sizes=\"(max-width: 700px) 100vw, 700px\"\n      />\n    </span>\n  </span>\n  </p>\n<p><a href=\"https://hub.docker.com/repository/docker/ijhdev/gitlab-ci-fastlane-android/general\">https://hub.docker.com/repository/docker/ijhdev/gitlab-ci-fastlane-android/general</a></p>\n<p><a href=\"https://github.com/seperot/Android_Fastlane_CICD_Image\">https://github.com/seperot/Android<em>Fastlane</em>CICD_Image</a></p>","frontmatter":{"title":"Android Fastlane CICD Image","date":"November 01, 2021","featuredImage":{"childImageSharp":{"sizes":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAIABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAME/8QAFwEAAwEAAAAAAAAAAAAAAAAAAAEEBf/aAAwDAQACEAMQAAABjc0I84Z//8QAFxABAAMAAAAAAAAAAAAAAAAAAAMREv/aAAgBAQABBQJJin//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAWEQADAAAAAAAAAAAAAAAAAAAQESH/2gAIAQIBAT8BVH//xAAXEAADAQAAAAAAAAAAAAAAAAAAARAS/9oACAEBAAY/AhZn/8QAGxAAAQQDAAAAAAAAAAAAAAAAAQAQESExQWH/2gAIAQEAAT8hGbWgTwt//9oADAMBAAIAAwAAABDzz//EABYRAAMAAAAAAAAAAAAAAAAAABARQf/aAAgBAwEBPxBwf//EABYRAQEBAAAAAAAAAAAAAAAAAAEQEf/aAAgBAgEBPxB0Gf/EABoQAAICAwAAAAAAAAAAAAAAAAERIUEAEDH/2gAIAQEAAT8QRKOc5EWLBjFN3r//2Q==","aspectRatio":2.4518388791593697,"src":"/static/androidCILarge-c031c15a911066648876b7260d9ca5a9-6b3a1.jpg","srcSet":"/static/androidCILarge-c031c15a911066648876b7260d9ca5a9-182ff.jpg 213w,\n/static/androidCILarge-c031c15a911066648876b7260d9ca5a9-7f5c7.jpg 425w,\n/static/androidCILarge-c031c15a911066648876b7260d9ca5a9-6b3a1.jpg 850w,\n/static/androidCILarge-c031c15a911066648876b7260d9ca5a9-45cc1.jpg 1275w,\n/static/androidCILarge-c031c15a911066648876b7260d9ca5a9-055dc.jpg 1400w","sizes":"(max-width: 850px) 100vw, 850px"}}}}}},"pageContext":{"slug":"/android-cicd-image/","previous":{"fields":{"slug":"/simple-reusable-dialog/"},"excerpt":"A small native Android/Kotlin library that helps build dialogs with however many buttons in however many styles you want.\n","frontmatter":{"title":"Simple Reusable Dialog for Android","date":"April 8, 2020","featuredImage":{"childImageSharp":{"sizes":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAIABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB0qAgB//EABgQAAIDAAAAAAAAAAAAAAAAAAADEBEi/9oACAEBAAEFAlUYj//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABgQAAIDAAAAAAAAAAAAAAAAAAARARBC/9oACAEBAAY/ApaM1//EABgQAAIDAAAAAAAAAAAAAAAAAAAQIUGh/9oACAEBAAE/IYdSrP/aAAwDAQACAAMAAAAQgA//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAbEAACAgMBAAAAAAAAAAAAAAABEQAxIUGxwf/aAAgBAQABPxBrAFhY+wHbiGypz//Z","aspectRatio":2.4518388791593697,"src":"/static/dialogbig-9fe7d92f6d334d5a7f706b18d7b13c82-6b3a1.jpg","srcSet":"/static/dialogbig-9fe7d92f6d334d5a7f706b18d7b13c82-182ff.jpg 213w,\n/static/dialogbig-9fe7d92f6d334d5a7f706b18d7b13c82-7f5c7.jpg 425w,\n/static/dialogbig-9fe7d92f6d334d5a7f706b18d7b13c82-6b3a1.jpg 850w,\n/static/dialogbig-9fe7d92f6d334d5a7f706b18d7b13c82-45cc1.jpg 1275w,\n/static/dialogbig-9fe7d92f6d334d5a7f706b18d7b13c82-055dc.jpg 1400w","sizes":"(max-width: 850px) 100vw, 850px"}}}}},"next":{"fields":{"slug":"/ways-of-working/"},"excerpt":"Pointers on the daunting task of becoming the manager of an existing team.\n","frontmatter":{"title":"Jumping into a new team as a manager","date":"January 5, 2023","featuredImage":{"childImageSharp":{"sizes":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAIABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAQF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQID/9oADAMBAAIQAxAAAAHZlM7rA//EABcQAQEBAQAAAAAAAAAAAAAAAAEAAgP/2gAIAQEAAQUCuS6b/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFxAAAwEAAAAAAAAAAAAAAAAAAAEREP/aAAgBAQAGPwIddmf/xAAaEAEAAQUAAAAAAAAAAAAAAAABABARMWGB/9oACAEBAAE/IUuJOFY4d0//2gAMAwEAAgADAAAAEHAv/8QAFhEAAwAAAAAAAAAAAAAAAAAAARAx/9oACAEDAQE/EDV//8QAFhEBAQEAAAAAAAAAAAAAAAAAARAx/9oACAECAQE/EDGf/8QAGRABAQADAQAAAAAAAAAAAAAAAREAITEQ/9oACAEBAAE/ECcoJNMceorIHRJD2Brm3z//2Q==","aspectRatio":2.4518388791593697,"src":"/static/jumping-0abf92d772c74504a5299d1199842b46-6b3a1.jpg","srcSet":"/static/jumping-0abf92d772c74504a5299d1199842b46-182ff.jpg 213w,\n/static/jumping-0abf92d772c74504a5299d1199842b46-7f5c7.jpg 425w,\n/static/jumping-0abf92d772c74504a5299d1199842b46-6b3a1.jpg 850w,\n/static/jumping-0abf92d772c74504a5299d1199842b46-45cc1.jpg 1275w,\n/static/jumping-0abf92d772c74504a5299d1199842b46-055dc.jpg 1400w","sizes":"(max-width: 850px) 100vw, 850px"}}}}}}}