Skip to content

Commit a5cc215

Browse files
authored
Merge pull request #265 from Seluj78/new-docker-names-and-tags
2 parents 175cdd4 + 33785e3 commit a5cc215

File tree

1 file changed

+42
-27
lines changed

1 file changed

+42
-27
lines changed

.travis.yml

Lines changed: 42 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,58 +11,57 @@ services:
1111
- mysql
1212
- redis
1313

14+
before_install:
15+
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
16+
# login to github registry
17+
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
18+
1419
jobs:
1520
include:
1621
- stage: Build Backend
1722
script:
18-
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
19-
# login to github registry
20-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
2123
# build image
22-
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-api:latest . -f backend.Dockerfile
24+
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT . -f backend.Dockerfile
25+
after_success:
2326
# push image
24-
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-api:latest
27+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT
28+
2529
- stage: Build Frontend
2630
script:
27-
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
28-
# login to github registry
29-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
3031
# build image
31-
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:latest . -f frontend.Dockerfile
32+
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT . -f frontend.Dockerfile
33+
after_success:
3234
# push image
33-
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:latest
35+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT
36+
3437
- stage: Build Workers
3538
script:
36-
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
37-
# login to github registry
38-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
3939
# build image
40-
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:latest . -f workers.Dockerfile
40+
- docker build -t docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT . -f workers.Dockerfile
41+
after_success:
4142
# push image
42-
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:latest
43+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT
44+
4345
- stage: Test API
44-
before_script:
45-
- node --version
46-
- npm --version
47-
- npm install -g newman
48-
- newman --version
46+
install:
4947
- wget https://repo.mysql.com//mysql-apt-config_0.8.15-1_all.deb
5048
- sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
5149
- sudo apt-get update -q
5250
- sudo apt-get install -q -y --allow-unauthenticated -o Dpkg::Options::=--force-confnew mysql-server
5351
- sudo systemctl restart mysql
5452
- sudo mysql_upgrade
53+
- npm install -g newman
54+
before_script:
55+
- node --version
56+
- npm --version
57+
- newman --version
5558
- mysql --version
5659
- mysql -e 'CREATE DATABASE pymatcha;'
60+
# pull image
61+
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT
5762
script:
58-
# login to github registry
59-
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin docker.pkg.github.com
60-
# pull images
61-
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-api:latest
62-
# decrypt the env file
63-
- openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
6463
# Run the backend api
65-
- docker run -d -p 5000:5000 --restart always --env-file .env --network="host" docker.pkg.github.com/seluj78/pymatcha/pymatcha-api:latest
64+
- docker run -d -p 5000:5000 --restart always --env-file .env --network="host" docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT
6665
# Wait for docker to be up
6766
- sleep 10
6867
# run newman tests
@@ -71,13 +70,29 @@ jobs:
7170
# stop and remove docker to prevent them from block port at next iteration/test
7271
- docker stop $(docker ps -a -q)
7372
- docker rm $(docker ps -a -q)
73+
7474
- stage: Lint Backend
7575
before_script:
7676
- pip install -r backend/requirements.txt
7777
script:
7878
- black --check backend/
7979
- flake8 backend/
8080

81+
- stage: Tag new releases
82+
if: branch = dev
83+
script:
84+
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT
85+
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT
86+
- docker pull docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT
87+
# Tag images
88+
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:latest
89+
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:latest
90+
- docker tag docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:$TRAVIS_COMMIT docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:latest
91+
# push image
92+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-backend:latest
93+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-frontend:latest
94+
- docker push docker.pkg.github.com/seluj78/pymatcha/pymatcha-workers:latest
95+
8196
notifications:
8297
email:
8398
recipients:

0 commit comments

Comments
 (0)