11name : Open State CI/CD
22
3- on :
3+ on :
44 push :
5- branches :
6- - ' *'
5+ branches :
6+ - ' *'
77 release :
88 types : [published]
9-
9+
1010jobs :
1111
1212 tests :
3131 - 6379:6379
3232
3333 steps :
34-
34+
3535 - name : Checkout repository
3636 uses : actions/checkout@v2
3737
9191 with :
9292 name : assembles_${{ github.sha }}
9393 path : build/libs/*.jar
94-
94+
9595 package :
9696 name : Packaging
9797 runs-on : ubuntu-latest
@@ -102,13 +102,13 @@ jobs:
102102
103103 - name : Checkout repository
104104 uses : actions/checkout@v2
105-
105+
106106 - name : Download artifacts
107107 uses : actions/download-artifact@v2
108108 with :
109109 name : assembles_${{ github.sha }}
110110 path : build/libs
111-
111+
112112 - name : Set up QEMU
113113 uses : docker/setup-qemu-action@v1
114114
@@ -129,29 +129,30 @@ jobs:
129129 push : true
130130 tags : openplatform/open-state:${{ github.event.release.tag_name }}
131131 file : docker/Dockerfile
132-
133-
132+
133+
134134 deploy-sprint :
135135 name : Deploy Sprint
136136 runs-on : ubuntu-latest
137137 continue-on-error : false
138138 needs : [tests, build, package]
139-
139+
140140 steps :
141141
142142 - name : Checkout repository
143143 uses : actions/checkout@v2
144144
145- - name : Deploy server
145+ - name : Setup SSH connection
146146 run : |
147- sudo apt install openssh-client
148- sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
149147 eval $(ssh-agent -s)
150148 echo "${{ secrets.SPRINT_DEPLOY_SSH_KEY }}" | tr -d '\r' | ssh-add - > /dev/null
151149 mkdir -p ~/.ssh
152150 chmod 700 ~/.ssh
153151 ssh-keyscan ${{ secrets.SPRINT_SERVER }} >> ~/.ssh/known_hosts
154152 chmod 644 ~/.ssh/known_hosts
153+
154+ - name : Deploy server
155+ run : |
155156 export DOCKER_HOST="ssh://gitlab@${{ secrets.SPRINT_SERVER }}"
156157 export MONGODB_PASSWORD="${{ secrets.SPRINT_MONGO_PASSWORD }}"
157158 export DOCKER_IMAGE_TAG="openplatform/open-state:${{ github.event.release.tag_name }}"
@@ -167,29 +168,23 @@ jobs:
167168 needs : [tests, build, package, deploy-sprint]
168169
169170 steps :
170-
171171 - name : Checkout repository
172172 uses : actions/checkout@v2
173173
174- - name : Deploy server
174+ - name : Setup SSH connection
175175 run : |
176- sudo apt install openssh-client
177- sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
178176 eval $(ssh-agent -s)
179177 echo "${{ secrets.PROD_DEPLOY_SSH_KEY }}" | tr -d '\r' | ssh-add - > /dev/null
180178 mkdir -p ~/.ssh
181179 chmod 700 ~/.ssh
182180 ssh-keyscan ${{ secrets.PROD_SERVER }} >> ~/.ssh/known_hosts
183181 chmod 644 ~/.ssh/known_hosts
182+
183+ - name : Deploy server
184+ run : |
184185 export DOCKER_HOST="ssh://gitlab@${{ secrets.PROD_SERVER }}"
185186 export MONGODB_PASSWORD="${{ secrets.PROD_MONGO_PASSWORD }}"
186187 export DOCKER_IMAGE_TAG="openplatform/open-state:${{ github.event.release.tag_name }}"
187188 docker login -u ${{ secrets.DOCKERHUB_USER_NAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }}
188189 docker-compose -f docker-compose-server.yml up -d
189190 docker image ls --filter reference=openplatform/open-state:${{ github.event.release.tag_name }} -q | tail -n +4 | xargs --no-run-if-empty docker image rm
190-
191-
192-
193-
194-
195-
0 commit comments