|
| 1 | +version: 0.2 |
| 2 | + |
| 3 | +env: |
| 4 | + parameter-store: |
| 5 | + DOCKER_HUB_USERNAME: "docker_hub_username" |
| 6 | + DOCKER_HUB_PASSWORD: "docker_hub_password" |
| 7 | + # store with: aws ssm put-parameter --name "docker_hub_username" --value "<username value>" --type String |
| 8 | +phases: |
| 9 | + install: |
| 10 | + commands: |
| 11 | + - export IMAGE_TAG=$(echo $CODEBUILD_SOURCE_VERSION | cut -c 1-7) |
| 12 | + - export ACCOUNT=$(echo $CODEBUILD_BUILD_ARN |cut -f5 -d:) |
| 13 | + - export PROJECT_NAME=$(basename $PWD) |
| 14 | + - export CODEBUILD_GIT_BRANCH="$(git symbolic-ref HEAD --short 2>/dev/null)" |
| 15 | + - if [ "$CODEBUILD_GIT_BRANCH" = "" ] ; then |
| 16 | + CODEBUILD_GIT_BRANCH="$(git branch -a --contains HEAD | sed -n 2p | awk '{ printf $1 }')"; |
| 17 | + export CODEBUILD_GIT_BRANCH=${CODEBUILD_GIT_BRANCH#remotes/origin/}; |
| 18 | + fi |
| 19 | + - export CODEBUILD_GIT_CLEAN_BRANCH="$(echo $CODEBUILD_GIT_BRANCH | tr '/' '.')" |
| 20 | + - export CODEBUILD_GIT_ESCAPED_BRANCH="$(echo $CODEBUILD_GIT_CLEAN_BRANCH | sed -e 's/[]\/$*.^[]/\\\\&/g')" |
| 21 | + - if [ "$CODEBUILD_GIT_CLEAN_BRANCH" = "master" ] ; then |
| 22 | + export IMAGE_WORD_TAG='latest'; |
| 23 | + else |
| 24 | + export IMAGE_WORD_TAG=${CODEBUILD_GIT_CLEAN_BRANCH}; |
| 25 | + fi |
| 26 | + - echo '***** This is the current env:' |
| 27 | + - printenv |
| 28 | + pre_build: |
| 29 | + commands: |
| 30 | + - echo Logging in to Docker Hub... |
| 31 | + - docker login -u ${DOCKER_HUB_USERNAME} -p ${DOCKER_HUB_PASSWORD} |
| 32 | + build: |
| 33 | + commands: |
| 34 | + - echo Build started on `date` |
| 35 | + - echo Building the Docker image... |
| 36 | + - echo $IMAGE_TAG > code_hash.txt |
| 37 | + - docker build -t $DOCKER_HUB_USERNAME/$PROJECT_NAME:$IMAGE_TAG . |
| 38 | + - docker tag $DOCKER_HUB_USERNAME/$PROJECT_NAME:$IMAGE_TAG $DOCKER_HUB_USERNAME/$PROJECT_NAME:$IMAGE_WORD_TAG |
| 39 | + # - docker build -t myimage . |
| 40 | + post_build: |
| 41 | + commands: |
| 42 | + - printf '[{"name":"example-backend","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json |
| 43 | + - echo Build completed on `date` |
| 44 | + - echo Pushing the Docker image... |
| 45 | + - docker push $DOCKER_HUB_USERNAME/$PROJECT_NAME:$IMAGE_TAG |
| 46 | + - docker push $DOCKER_HUB_USERNAME/$PROJECT_NAME:$IMAGE_WORD_TAG |
| 47 | + # - docker pull anchore/cli |
| 48 | + # - docker run -d -v $(pwd):/source-dir -v /var/run/docker.sock:/var/run/docker.sock --name anchore anchore/cli:latest |
| 49 | + # - docker exec anchore anchore feeds sync |
| 50 | + # - docker exec anchore anchore analyze --image myimage --dockerfile /source-dir/Dockerfile |
| 51 | + |
| 52 | +artifacts: |
| 53 | + files: |
| 54 | + - '**/*' |
0 commit comments