{"version":3,"file":"component---src-pages-projects-docker-containers-js-98724c4b19f61eac90c0.js","mappings":"qKAgHA,UAvGyB,kBACrB,gBAAC,IAAD,CAAQA,MAAO,oBAAqBC,YAAa,2EAC7C,uBAAKC,UAAU,iDACX,gBAAC,EAAAC,EAAD,CAAaC,IAAK,mCAAoCC,IAAK,cAAeH,UAAW,oBAAqBI,YAAY,UAAtH,uBAEJ,uBAAKJ,UAAU,aACX,kDACA,kNAGI,qBAAGK,KAAM,iDAAT,gBAHJ,uIAOA,0BACI,mNAGI,qBAAGA,KAAK,6BAAR,gBAHJ,kCAII,0CAJJ,aAIqC,oCAJrC,QAI2D,oDAJ3D,iBAKI,2BAAK,wBAAML,UAAU,cAAhB,sBACkB,2BACnB,2BAFC,8FAG0F,2BAC3F,2BAJC,qCAQT,2DACkC,qBAAGK,KAAK,4CAAR,kBADlC,0FAGI,0CAHJ,iBAII,2BAAK,wBAAML,UAAU,cAAhB,sBACkB,2BACnB,2BAFC,qDAGiD,2BAHjD,iDAI6C,2BAJ7C,iCAK6B,2BAL7B,mCAM+B,2BAChC,2BAPC,kEAQ8D,2BAC/D,2BATC,qCAaT,iDACwB,qBAAGK,KAAK,sBAAR,WADxB,6HAEkF,uCAFlF,kBAII,2BAAK,wBAAML,UAAU,cAAhB,sBACkB,2BACnB,2BAFC,+CAG2C,2BAC5C,2BAJC,sCAUb,oDACA,wMAGI,qBAAGK,KAAK,uDAAR,UAHJ,UAKA,wLAGI,2BAAK,wBAAML,UAAU,cAAhB,yBACqB,2BACtB,2BAFC,aAGS,2BAHT,4BAIkC,2BAJlC,yBAK+B,2BAL/B,yBAM+B,2BAChC,2BAPC,iBAQa,2BARb,+NAU4C,2BAC7C,2BAXC,SAYK,2BAZL,UAagB,2BAbhB,gBAcgC,2BAdhC,iBAeuB,2BAfvB,YAgBkB,2BAhBlB,gFAiBgG,2BAjBhG,mCAkBmD,2BAlBnD,4BAmB4C,2BAnB5C,qFAoB+G,2BApB/G,gDAqBwE,2BArBxE,eAsByC,2BAtBzC,UAuBoC,8BAI7C,qEAC6C,gBAAC,EAAAM,KAAD,CAAMC,GAAG,0BAAT,gBAD7C,mD","sources":["webpack://sugandese-llc/./src/pages/projects/docker-containers.js"],"sourcesContent":["import * as React from \"react\"\nimport { Link } from \"gatsby\"\nimport { StaticImage } from \"gatsby-plugin-image\"\n\nimport Layout from \"../../components/layout\"\n\nimport \"../../scss/components/post.scss\"\nimport \"../../scss/components/misc.scss\"\n\nconst DockerContainers = () => (\n \n
\n \n
\n
\n

Custom Docker Images

\n

\n While talking to a client about what languages are being used and how their development process works, we\n quickly learned that no pre-made docker images would work, and that GitLab's\n Auto DevOps features were not a good fit for\n them.\n Because of this, we created some custom docker images with code-auditing tools they wanted.\n

\n \n\n

Multiple Architectures

\n

\n Although creating Docker images for other architectures seems difficult, it's honestly one of the\n easiest parts of this kind of project. This is because Docker has a their \n Buildx tool.\n

\n

\n To use it to produce images, we created a final CI/CD pipeline to build multiple architecture images and\n push them to our internal registry for their usage.\n

\n                    image: docker:20.10.12
\n
\n variables:
\n   BUILDX_VERSION: \"0.7.1\"
\n   BUILDX_HOST: \"linux\"
\n   BUILDX_ARCH: \"arm64\"
\n
\n before_script:
\n   - wget -O /usr/bin/docker-buildx https://github.com/docker/buildx/releases/download/v${`{BUILDX_VERSION}`}/buildx-v${`{BUILDX_VERSION}`}.${`{BUILDX_HOST}`}-${`{$BUILDX_ARCH}`}\n   - chmod +x /usr/bin/docker-buildx
\n
\n build:
\n   tags:
\n     - no-dind
\n   stage: build
\n   script:
\n     - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
\n     - docker-buildx create --use
\n     - docker-buildx build
\n       --platform linux/amd64,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x
\n       --tag ${`{CI_REGISTRY_IMAGE}`}:latest
\n       --push
\n       .
\n
\n

\n\n

\n These containers went on to be used in a GitLab CI/CD pipeline\n to provide automated code review.\n

\n
\n
\n)\n\nexport default DockerContainers\n"],"names":["title","description","className","S","src","alt","placeholder","href","Link","to"],"sourceRoot":""}