ci: branch based builds

This commit is contained in:
Revant Nandgaonkar 2020-02-21 13:09:10 +05:30
parent c5d31ef164
commit 5d1dd3c0c4

View File

@ -9,17 +9,17 @@ before_install:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- sudo apt-get update && sudo apt-get -y install git - sudo apt-get update && sudo apt-get -y install git
- if [ $BUILD == "development" ];then - if [ $BUILD == "development" ];then
sudo apt-get -y install docker-compose; sudo apt-get -y install docker-compose;
fi fi
install: install:
- if [ $BUILD == "development" ];then - if [ $BUILD == "development" ];then
chmod ugo+x ./dbench; chmod ugo+x ./dbench;
chmod ugo+x ./test.sh; chmod ugo+x ./test.sh;
./dbench setup docker; ./dbench setup docker;
./dbench init frappe-bench; ./dbench init frappe-bench;
./dbench new-site site1.local; ./dbench new-site site1.local;
./dbench setup hosts; ./dbench setup hosts;
fi fi
after_success: after_success:
@ -33,128 +33,143 @@ matrix:
- ./test.sh - ./test.sh
- ./dbench setup docker stop - ./dbench setup docker stop
- name: "Build Frappe python environment (edge)" - name: "Build Frappe python environment (edge)"
if: branch = develop
script: script:
- docker build -t frappe-worker -f build/frappe-worker/Dockerfile . - docker build -t frappe-worker -f build/frappe-worker/Dockerfile .
- docker tag frappe-worker frappe/frappe-worker:edge - docker tag frappe-worker frappe/frappe-worker:edge
- docker push frappe/frappe-worker:edge - docker push frappe/frappe-worker:edge
- name: "Build Frappe nginx + static assets (edge)" - name: "Build Frappe nginx + static assets (edge)"
if: branch = develop
script: script:
- docker build -t frappe-assets -f build/frappe-assets/Dockerfile . - docker build -t frappe-assets -f build/frappe-assets/Dockerfile .
- docker tag frappe-assets frappe/frappe-assets:edge - docker tag frappe-assets frappe/frappe-assets:edge
- docker push frappe/frappe-assets:edge - docker push frappe/frappe-assets:edge
- name: "Build ERPNext python environment (edge)" - name: "Build ERPNext python environment (edge)"
if: branch = develop
script: script:
- docker build -t erpnext-worker -f build/erpnext-worker/Dockerfile . - docker build -t erpnext-worker -f build/erpnext-worker/Dockerfile .
- docker tag erpnext-worker frappe/erpnext-worker:edge - docker tag erpnext-worker frappe/erpnext-worker:edge
- docker push frappe/erpnext-worker:edge - docker push frappe/erpnext-worker:edge
- name: "Build ERPNext nginx + static assets (edge)" - name: "Build ERPNext nginx + static assets (edge)"
if: branch = develop
script: script:
- docker build -t erpnext-assets -f build/erpnext-assets/Dockerfile . - docker build -t erpnext-assets -f build/erpnext-assets/Dockerfile .
- docker tag erpnext-assets frappe/erpnext-assets:edge - docker tag erpnext-assets frappe/erpnext-assets:edge
- docker push frappe/erpnext-assets:edge - docker push frappe/erpnext-assets:edge
- name: "Build Frappe socketio service (edge)" - name: "Build Frappe socketio service (edge)"
if: branch = develop
script: script:
- docker build -t frappe-socketio -f build/frappe-socketio/Dockerfile . - docker build -t frappe-socketio -f build/frappe-socketio/Dockerfile .
- docker tag frappe-socketio frappe/frappe-socketio:edge - docker tag frappe-socketio frappe/frappe-socketio:edge
- docker push frappe/frappe-socketio:edge - docker push frappe/frappe-socketio:edge
- name: "Build Frappe python environment (v12)" - name: "Build Frappe python environment (v12)"
if: branch = master
script: script:
- git clone https://github.com/frappe/frappe --branch version-12 - git clone https://github.com/frappe/frappe --branch version-12
- cd frappe - cd frappe
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/frappe-worker:$VERSION -f build/frappe-worker/Dockerfile . - docker build -t frappe/frappe-worker:$VERSION -f build/frappe-worker/v12.Dockerfile .
- docker tag frappe/frappe-worker:$VERSION frappe/frappe-worker:v12 - docker tag frappe/frappe-worker:$VERSION frappe/frappe-worker:v12
- docker tag frappe/frappe-worker:$VERSION frappe/frappe-worker:$VERSION - docker tag frappe/frappe-worker:$VERSION frappe/frappe-worker:$VERSION
- docker push frappe/frappe-worker:$VERSION - docker push frappe/frappe-worker:$VERSION
- name: "Build Frappe nginx + static assets (v12)" - name: "Build Frappe nginx + static assets (v12)"
if: branch = master
script: script:
- git clone https://github.com/frappe/frappe --branch version-12 - git clone https://github.com/frappe/frappe --branch version-12
- cd frappe - cd frappe
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/frappe-assets:$VERSION -f build/frappe-assets/Dockerfile . - docker build -t frappe/frappe-assets:$VERSION -f build/frappe-assets/v12.Dockerfile .
- docker tag frappe/frappe-assets:$VERSION frappe/frappe-assets:v12 - docker tag frappe/frappe-assets:$VERSION frappe/frappe-assets:v12
- docker push frappe/frappe-assets:$VERSION - docker push frappe/frappe-assets:$VERSION
- name: "Build ERPNext python environment (v12)" - name: "Build ERPNext python environment (v12)"
if: branch = master
script: script:
- git clone https://github.com/frappe/erpnext --branch version-12 - git clone https://github.com/frappe/erpnext --branch version-12
- cd erpnext - cd erpnext
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/erpnext-worker:$VERSION -f build/erpnext-worker/Dockerfile . - docker build -t frappe/erpnext-worker:$VERSION -f build/erpnext-worker/v12.Dockerfile .
- docker tag frappe/erpnext-worker:$VERSION frappe/erpnext-worker:v12 - docker tag frappe/erpnext-worker:$VERSION frappe/erpnext-worker:v12
- docker push frappe/erpnext-worker:$VERSION - docker push frappe/erpnext-worker:$VERSION
- name: "Build ERPNext nginx + static assets (v12)" - name: "Build ERPNext nginx + static assets (v12)"
if: branch = master
script: script:
- git clone https://github.com/frappe/erpnext --branch version-12 - git clone https://github.com/frappe/erpnext --branch version-12
- cd erpnext - cd erpnext
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/erpnext-assets:$VERSION -f build/erpnext-assets/Dockerfile . - docker build -t frappe/erpnext-assets:$VERSION -f build/erpnext-assets/v12.Dockerfile .
- docker tag frappe/erpnext-assets:$VERSION frappe/erpnext-assets:v12 - docker tag frappe/erpnext-assets:$VERSION frappe/erpnext-assets:v12
- docker push frappe/erpnext-assets:$VERSION - docker push frappe/erpnext-assets:$VERSION
- name: "Build Frappe socketio service (v12)" - name: "Build Frappe socketio service (v12)"
if: branch = master
script: script:
- git clone https://github.com/frappe/frappe --branch version-12 - git clone https://github.com/frappe/frappe --branch version-12
- cd frappe - cd frappe
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v12*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/frappe-socketio:$VERSION -f build/frappe-socketio/Dockerfile . - docker build -t frappe/frappe-socketio:$VERSION -f build/frappe-socketio/v12.Dockerfile .
- docker tag frappe/frappe-socketio:$VERSION frappe/frappe-socketio:v12 - docker tag frappe/frappe-socketio:$VERSION frappe/frappe-socketio:v12
- docker push frappe/frappe-socketio:$VERSION - docker push frappe/frappe-socketio:$VERSION
- name: "Build Frappe python environment (v11)" - name: "Build Frappe python environment (v11)"
if: branch = master
script: script:
- git clone https://github.com/frappe/frappe --branch version-11 - git clone https://github.com/frappe/frappe --branch version-11
- cd frappe - cd frappe
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/frappe-worker:$VERSION -f build/frappe-worker/Dockerfile . - docker build -t frappe/frappe-worker:$VERSION -f build/frappe-worker/v11.Dockerfile .
- docker tag frappe/frappe-worker:$VERSION frappe/frappe-worker:v11 - docker tag frappe/frappe-worker:$VERSION frappe/frappe-worker:v11
- docker push frappe/frappe-worker:$VERSION - docker push frappe/frappe-worker:$VERSION
- name: "Build Frappe nginx + static assets (v11)" - name: "Build Frappe nginx + static assets (v11)"
if: branch = master
script: script:
- git clone https://github.com/frappe/frappe --branch version-11 - git clone https://github.com/frappe/frappe --branch version-11
- cd frappe - cd frappe
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/frappe-assets:$VERSION -f build/frappe-assets/Dockerfile . - docker build -t frappe/frappe-assets:$VERSION -f build/frappe-assets/v11.Dockerfile .
- docker tag frappe/frappe-assets:$VERSION frappe/frappe-assets:v11 - docker tag frappe/frappe-assets:$VERSION frappe/frappe-assets:v11
- docker push frappe/frappe-assets:$VERSION - docker push frappe/frappe-assets:$VERSION
- name: "Build ERPNext python environment (v11)" - name: "Build ERPNext python environment (v11)"
if: branch = master
script: script:
- git clone https://github.com/frappe/erpnext --branch version-11 - git clone https://github.com/frappe/erpnext --branch version-11
- cd erpnext - cd erpnext
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/erpnext-worker:$VERSION -f build/erpnext-worker/Dockerfile . - docker build -t frappe/erpnext-worker:$VERSION -f build/erpnext-worker/v11.Dockerfile .
- docker tag frappe/erpnext-worker:$VERSION frappe/erpnext-worker:v11 - docker tag frappe/erpnext-worker:$VERSION frappe/erpnext-worker:v11
- docker push frappe/erpnext-worker:$VERSION - docker push frappe/erpnext-worker:$VERSION
- name: "Build ERPNext nginx + static assets (v11)" - name: "Build ERPNext nginx + static assets (v11)"
if: branch = master
script: script:
- git clone https://github.com/frappe/erpnext --branch version-11 - git clone https://github.com/frappe/erpnext --branch version-11
- cd erpnext - cd erpnext
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/erpnext-assets:$VERSION -f build/erpnext-assets/Dockerfile . - docker build -t frappe/erpnext-assets:$VERSION -f build/erpnext-assets/v11.Dockerfile .
- docker tag frappe/erpnext-assets:$VERSION frappe/erpnext-assets:v11 - docker tag frappe/erpnext-assets:$VERSION frappe/erpnext-assets:v11
- docker push frappe/erpnext-assets:$VERSION - docker push frappe/erpnext-assets:$VERSION
- name: "Build Frappe socketio service (v11)" - name: "Build Frappe socketio service (v11)"
if: branch = master
script: script:
- git clone https://github.com/frappe/frappe --branch version-11 - git clone https://github.com/frappe/frappe --branch version-11
- cd frappe - cd frappe
- git fetch --tags - git fetch --tags
- export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#') - export VERSION=$(git tag --list --sort=-version:refname "v11*" | sed -n 1p | sed -e 's#.*@\(\)#\1#')
- cd .. - cd ..
- docker build -t frappe/frappe-socketio:$VERSION -f build/frappe-socketio/Dockerfile . - docker build -t frappe/frappe-socketio:$VERSION -f build/frappe-socketio/v11.Dockerfile .
- docker tag frappe/frappe-socketio:$VERSION frappe/frappe-socketio:v11 - docker tag frappe/frappe-socketio:$VERSION frappe/frappe-socketio:v11
- docker push frappe/frappe-socketio:$VERSION - docker push frappe/frappe-socketio:$VERSION