-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
33 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,49 +1,43 @@ | ||
| version: 0.2 | ||
|
|
||
| env: | ||
| variables: | ||
| AWS_REGION: "us-gov-west-1" | ||
| CODE_SRC_DIR: "source" | ||
| CODEBUILD_SRC_DIR_SourceAnsibleOutput: "/codebuild/output/src3467/src/s3/01" | ||
|
|
||
| phases: | ||
| install: | ||
| runtime-versions: | ||
| python: 3.x | ||
| commands: | ||
| - echo "Installing Python version 3.11 ..." | ||
| - pyenv global $PYTHON_311_VERSION | ||
| - stat ${CODEBUILD_SRC_DIR_SourceAnsibleOutput}/init.sh && bash ${CODEBUILD_SRC_DIR_SourceAnsibleOutput}/init.sh ${CODEBUILD_SRC_DIR_SourceAnsibleOutput} || echo "No init.sh script found" | ||
| - which pip3 || curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py | ||
| - which pip3 || python3 get-pip.py --user | ||
| - stat $(python -m site --user-base)/bin/ansible-playbook || python3 -m pip install --user ansible pywinrm | ||
| - stat /bin/packer || curl -s -qL -o packer.zip https://releases.hashicorp.com/packer/1.10.3/packer_1.10.3_linux_amd64.zip | ||
| - stat /bin/packer || unzip -o packer.zip | ||
| - stat /bin/packer || $(mv packer /bin && rm packer.zip) | ||
| - echo "Installing pip, Ansible, and Packer" | ||
| - which pip3 || curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python3 get-pip.py --user | ||
| - stat $(python3 -m site --user-base)/bin/ansible-playbook || python3 -m pip install --user ansible pywinrm | ||
| - export PATH=$PATH:/root/.local/bin | ||
| - if ! stat /bin/packer; then | ||
| curl -s -qL -o packer.zip https://releases.hashicorp.com/packer/1.10.3/packer_1.10.3_linux_amd64.zip; | ||
| unzip -o packer.zip; | ||
| mv packer /bin; | ||
| rm packer.zip; | ||
| fi | ||
|
|
||
| pre_build: | ||
| commands: | ||
| - echo "Configuring AWS credentials" | ||
| - echo "Fetching AWS credentials from ECS metadata service" | ||
| - echo "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=${AWS_CONTAINER_CREDENTIALS_RELATIVE_URI}" | ||
| - curl -qL -o aws_credentials.json http://169.254.170.2/${AWS_CONTAINER_CREDENTIALS_RELATIVE_URI} > aws_credentials.json | ||
| - echo "Configuring AWS CLI" | ||
| - aws configure set region $AWS_REGION | ||
| - aws configure set aws_access_key_id `jq -r '.AccessKeyId' aws_credentials.json` | ||
| - export AWS_ACCESS_KEY_ID=`jq -r '.AccessKeyId' aws_credentials.json` | ||
| - aws configure set aws_secret_access_key `jq -r '.SecretAccessKey' aws_credentials.json` | ||
| - export AWS_SECRET_ACCESS_KEY=`jq -r '.SecretAccessKey' aws_credentials.json` | ||
| - aws configure set aws_session_token `jq -r '.Token' aws_credentials.json` | ||
| - export AWS_SESSION_TOKEN=`jq -r '.Token' aws_credentials.json` | ||
|
|
||
| build: | ||
| commands: | ||
| - echo "Building HashiCorp Packer template, build.pkr.hcl" | ||
| - cd ${CODEBUILD_SRC_DIR}/${CODE_SRC_DIR} | ||
| - /bin/packer init build.pkr.hcl | ||
| - ln -s ${CODEBUILD_SRC_DIR_SourceAnsibleOutput}/roles | ||
| - /bin/packer build -var project_name=rhel-arm-image-pipeline-demo -var ansible_dir=${CODEBUILD_SRC_DIR_SourceAnsibleOutput} build.pkr.hcl | ||
| - echo "Running Packer build" | ||
| - packer init build.pkr.hcl | ||
| - packer build -var project_name=rhel-arm-image-pipeline-demo -var ansible_dir=${CODEBUILD_SRC_DIR_SourceAnsibleOutput} build.pkr.hcl | ||
|
|
||
| post_build: | ||
| commands: | ||
| - cd ${CODEBUILD_SRC_DIR}/${CODE_SRC_DIR} | ||
| - echo "Checking for the AMI ID file" | ||
| - test -s ami_id.txt || exit 1 | ||
|
|
||
| artifacts: | ||
| files: | ||
| - '**/*' | ||
| discard-paths: yes | ||
| - ami_id.txt |