1- sudo : required
2-
3- dist : xenial
4-
5- service :
6- - docker
7-
1+ os :
2+ - linux
3+ dist : bionic
4+ language : python
5+ services :
6+ - docker
7+ install :
8+ # omit automatic installation of dependencies in virtualenv
9+ - pip --version
810stages :
9- - if : branch = master
10- name : master build
11- - if : branch = dev
12- name : dev build
13- - name : branch build
14-
11+ - name : test
12+ - name : publish
13+ # do not execute if PR branch
14+ if : type != pull_request
15+ branches :
16+ only :
17+ - dev
1518jobs :
1619 include :
17- - stage : master build
20+ - stage : test
21+ name : Build, deploy and test application
1822 script :
19- - version=0.1
20- - docker build -t weselixir/elixir-wes-app:"$version" -t weselixir/elixir-wes-app:master .
21- - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
22- - if [ "$TRAVIS_PULL_REQUEST" = false ]; then docker push "$DOCKER_REPO_NAME":"$version"; fi
23- - stage : dev build
23+ # build and deploy application
24+ - " docker-compose -f docker-compose.yaml -f docker-compose.dev.yaml up --build -d"
25+ # test if endpoint 'GET /runs' is accessible
26+ - " test $(curl -sL -w '%{http_code}' -X GET --header 'Accept: application/json' 'http://localhost:7777/ga4gh/wes/v1/runs' -o /dev/null) == '200'"
27+ - stage : publish
28+ name : Push image to registry
29+ env :
30+ - secure : " woVF7L1vADo4OqyKm7Kq8PC95Ej4L1q3R4Gf0Uh9p1tA81JMfD/3HDS5dG3OQvjoftcA7PqpFTrZq6GL1hR/bQqoQypHVNziH9PnDZFJPvxIYa8BUV7lknva4aSB6lcj4jmukHAnGNrusgSNXqcmFO0ziX4nyCNwcmXNGfRMKB3D25t0MAALtpSBYFovN1+7yijlklyjPCPUaEJ8Sj/HpohJ0CMye9f+dVE9RR5fDteLycHSRn2V2ftwmvu16vyI/sI9gdhYqamh18j8G9AULpeBWCdKpJ5+8nOnGwewRLCwnpClW6KEPtR95sk0qGiIs6rKigMbKuKmlgpbjh3T3vHfsvCVKpF1t+rAbFSWJy3RNv+Ru9zJ5Cl590v9DevRKfWyaJRiXdplEQRVgsMZdmfXaepZuNhYu113dw54QuVvQ5ceNS/MhR1QZs9Nkmv5LXwdvgxPn4seQM8G/uvYZS9cmyt+VkhMFkSBanRMxTafv0FAD4R+KgrHpvG8JjacwINAn7Ufy2YWMkVsolQGERH6LEo9BoxPW5SweKMoakx27K+mFKd63XwPzpwwv0zsKmPp6hBAZ7r4AnzrRVqJF7dGI9dXsFVNTTAT7+moQ7R9PI0WVNYL+ntafbd/q3/I5r2i/tuA2yr5l4oMgoOQAXB8/JuQ5uvjVudELPU1c9s="
31+ - secure : " dhyNkYM5fPIcFSzrQ9k/nnOJOH3iOuWqu1Fu54IUCFDv89P7gNDkwCQAXH5hp8oipfNP0l4idOp0CmXWaAozFc67mP/tBN6A5D+zdfjjG3qhmFjlojpC1EtF7kvOvF8Wc9tCRi/J8qDiAGGqPPstxYfGD7jxUlDKeKlfgf9zhnnWQCM1kdnBqedLaEI6QIYdhpULa/8yMVLI3VOBE22FNZNc4Ftw7xDJFTMP1iW7k3DOe+gSR0bkBTwBj12rL/dCiEeYR/8UfZQJgmq4iZTI5s1EoHrqhnjp6xDxIaqmlWTkwTE6SpTm70Q7qvU0YLvwlKXmhclGmDmauxONzL+DJp0gPVT0N54pUZ6CfglxwJFAz3U8xRzi3vurcIC2hozKg67p8e6aohlJVYqook0APsK/q/z0kfvivMC9gP0HZIKUuSFvkbbwt6VAVjVmPhTbPew6pRsCmHrjntpWSfehaVAb8byKxul4BU3HnLTy+uf2RUJ9BfNjl7m7wCba+SwEU29/dow65JlLsCwUUHhEexXDRn9GO09Ci6OR+EhtCtsS7cXTS/1rOIaiUfvB7ciu5BjqdnSxJ1WkAEDaut32l4/1mfNfTg0eSmsHPs//oPsXb4NZU/f4oeXJvvVmG1PTx7mOwGnSokZT8iI+rk3ULCyf+lz0JNQy7Jx5mb+kEqI="
2432 script :
25- - docker build -t weselixir/elixir-wes-app:dev -t weselixir/elixir-wes-app:build-"$TRAVIS_BUILD_NUMBER" .
26- - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
27- - if [ "$TRAVIS_PULL_REQUEST" = false ]; then docker push "$DOCKER_REPO_NAME":build-"$TRAVIS_BUILD_NUMBER"; fi
28- - stage : branch build
29- script :
30- - docker build -t weselixir/elixir-wes-app-branched:build-"$TRAVIS_BUILD_NUMBER" .
31- - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
33+ # build and tag app image
34+ - docker build -t "$DOCKER_REPO_NAME":"$DOCKER_REPO_TAG" .
35+ # log in
36+ - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
37+ # push image
38+ - docker push "$DOCKER_REPO_NAME":"$DOCKER_REPO_TAG"
0 commit comments