@@ -3,42 +3,47 @@ description: Deploy project image to server
33
44inputs :
55
6- SSHKEY :
7- description : ' SSH key to connect to server'
6+ SSH_KEY :
7+ description : ' SSH key to access to remote server'
88 required : true
9-
10- server :
11- description : ' Target server address '
9+
10+ REMOTE_SERVER :
11+ description : ' Remote server to deploy to '
1212 required : true
1313
14- dockerUser :
15- description : ' DockerHub user name'
14+ DOCKER_USER_NAME :
15+ description : ' Docker registry user name'
1616 required : true
1717
18- dockerPassword :
19- description : ' DockerHub user password'
18+ DOCKER_PASSWORD :
19+ description : ' Docker registry password'
2020 required : true
2121
22- image :
23- description : ' Docker image to deploy'
22+ DOCKER_IMAGE_TAG :
23+ description : ' Docker image tag to start'
24+ required : true
25+
26+ MONGODB_PASSWORD :
27+ description : ' Mongo DB password'
2428 required : true
2529
2630runs :
2731 using : " composite"
2832 steps :
2933 - run : |
30- echo ==============================================
31- echo "$SERVER"
32- echo "$SSHKEY"
33- echo ==============================================
3434 sudo apt install openssh-client
35- sudo apt-get install python3-pip
36- pip install docker-compose==1.23.2
35+ 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
3736 eval $(ssh-agent -s)
38- echo "$SSHKEY " | tr -d '\r' | ssh-add - > /dev/null
37+ echo "${{ SSH_KEY }} " | tr -d '\r' | ssh-add - > /dev/null
3938 mkdir -p ~/.ssh
4039 chmod 700 ~/.ssh
41- ssh-keyscan $SERVER >> ~/.ssh/known_hosts
40+ ssh-keyscan ${{ REMOTE_SERVER }} >> ~/.ssh/known_hosts
4241 chmod 644 ~/.ssh/known_hosts
42+ export DOCKER_HOST="ssh://gitlab@${{ REMOTE_SERVER }}"
43+ export MONGODB_PASSWORD="${{ MONGODB_PASSWORD }}"
44+ export IMAGE_TAG="${{ DOCKER_IMAGE_TAG }}"
45+ docker login -u ${{ DOCKER_USER_NAME }} -p ${{ DOCKER_PASSWORD }}
46+ docker-compose -f docker-compose-server.yml up -d
47+ docker image ls --filter reference=${{ DOCKER_IMAGE_TAG }} -q | tail -n +4 | xargs --no-run-if-empty docker image rm
4348 shell: bash
4449
0 commit comments