video-iac/bitbucket-pipelines.yml

67 lines
2.6 KiB
YAML
Raw Normal View History

2021-07-16 15:15:34 +00:00
# Template docker-push
# This template allows you to build and push your docker image to a Docker Hub account.
# The workflow allows running tests, code linting and security scans on feature branches (as well as master).
# The docker image will be validated and pushed to the docker registry after the code is merged to master.
# Prerequisites: $DOCKERHUB_USERNAME, $DOCKERHUB_PASSWORD setup as deployment variables
image: atlassian/default-image:2
definitions:
services:
docker:
memory: 3072
pipelines:
default:
- parallel:
- step:
2021-11-15 17:05:12 +00:00
name: Build images
2021-07-16 15:15:34 +00:00
script:
2021-11-15 15:42:36 +00:00
- docker build . --file docker/coturn/Dockerfile --tag coturn
- docker build . --file docker/coturn-dns/Dockerfile --tag coturn-dns
2021-07-16 15:15:34 +00:00
services:
- docker
caches:
- docker
- step:
name: Lint the Dockerfile
image: hadolint/hadolint:latest-debian
script:
2021-11-15 15:37:15 +00:00
- hadolint docker/coturn/Dockerfile
- hadolint docker/coturn-dns/Dockerfile
2021-07-16 15:15:34 +00:00
branches:
2021-07-16 15:24:04 +00:00
main:
2021-07-16 15:15:34 +00:00
- step:
2021-11-15 17:05:12 +00:00
name: Build images
2021-07-16 15:15:34 +00:00
script:
2021-11-15 16:38:20 +00:00
- docker build . --file docker/coturn/Dockerfile --tag coturn
2021-11-15 15:42:36 +00:00
- docker build . --file docker/coturn-dns/Dockerfile --tag coturn-dns
- docker save coturn --output "coturn.tar"
- docker save coturn-dns --output "coturn-dns.tar"
2021-07-16 15:15:34 +00:00
services:
- docker
caches:
- docker
artifacts:
- "*.tar"
- step:
2021-11-15 17:05:12 +00:00
name: Push images
2021-07-16 15:15:34 +00:00
image: google/cloud-sdk:alpine
script:
# Authenticating with the service account key file
- echo $GCLOUD_API_KEYFILE | base64 -d > ./gcloud-api-key.json
- gcloud auth activate-service-account --key-file gcloud-api-key.json
- gcloud config set project $GCLOUD_PROJECT
2021-11-15 16:55:04 +00:00
- docker load --input "coturn.tar"
- docker load --input "coturn-dns.tar"
2021-11-15 15:37:15 +00:00
- VERSION="latest" #VERSION="prod-0.1.${BITBUCKET_BUILD_NUMBER}"
2021-11-15 15:42:36 +00:00
- docker tag "coturn" "gcr.io/${GCLOUD_PROJECT}/coturn:${VERSION}"
- docker tag "coturn-dns" "gcr.io/${GCLOUD_PROJECT}/coturn-dns:${VERSION}"
2021-07-16 15:15:34 +00:00
# Login to google docker hub
- cat ./gcloud-api-key.json | docker login -u _json_key --password-stdin https://gcr.io
2021-11-15 15:37:15 +00:00
- docker push "gcr.io/${GCLOUD_PROJECT}/coturn:${VERSION}"
2021-08-10 17:36:34 +00:00
- docker push "gcr.io/${GCLOUD_PROJECT}/coturn-dns:${VERSION}"
2021-07-16 15:15:34 +00:00
services:
2021-11-16 12:21:34 +00:00
- docker