This repository was archived by the owner on Nov 18, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
66 lines (57 loc) · 2.14 KB
/
ci.yml
File metadata and controls
66 lines (57 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
on:
push:
branches:
- main
jobs:
build:
name: Build, push, and deploy
runs-on: ubuntu-latest
steps:
- name: Checkout master
uses: actions/checkout@master
- name: Update SHA
run: echo $GITHUB_SHA > $GITHUB_WORKSPACE/_meta
- name: Install doctl
uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- name: Build container image
run: docker build -t tobiashegemann/digitalstage-api:$(echo $GITHUB_SHA | head -c7) .
- name: Docker Login
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- name: Push image to Docker Hub
run: docker push tobiashegemann/digitalstage-api --all-tags
- name: Update deployment file
run: TAG=$(echo $GITHUB_SHA | head -c7) && sed -i 's|<IMAGE>|tobiashegemann/digitalstage-api:'${TAG}'|' $GITHUB_WORKSPACE/deployment.yml
- name: Write Mongo CA file
env:
CERT: ${{ secrets.MONGO_CERT }}
run: echo $CERT > $GITHUB_WORKSPACE/mongo.crt
- name: Replace Environment Variables
uses: danielr1996/envsubst-action@1.0.0
env:
AUTH_URL: ${{ secrets.AUTH_URL }}
API_KEY: ${{ secrets.API_KEY }}
TURN_SECRET: ${{ secrets.TURN_SECRET }}
MONGO_URL: ${{ secrets.MONGO_URL }}
MONGO_DB: ${{ secrets.MONGO_DB }}
MONGO_CA: ${{ secrets.MONGO_CA }}
REDIS_URL: ${{ secrets.REDIS_URL }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
RESTRICT_STAGE_CREATION: ${{ secrets.RESTRICT_STAGE_CREATION }}
with:
input: deployment.yml
output: deploy.yml
# - name: Save DigitalOcean kubeconfig
# run: doctl kubernetes cluster kubeconfig save $CLUSTER_NAME
# env:
# CLUSTER_NAME: ${{ secrets.CLUSTER_NAME }}
#
# - name: Deploy to Kubernetes
# run: kubectl apply -f deploy.yml
#
# - name: Verify deployment
# run: kubectl rollout status deployment/digitalstage-api