CICD preparation
This commit is contained in:
145
.drone.yml
Normal file
145
.drone.yml
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: backend-service
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: "[branch] bump version"
|
||||
image: registry.halfakop.ru/golang/bumpversion:0.1.3
|
||||
environment:
|
||||
GIT_USERNAME:
|
||||
from_secret: GIT_USERNAME
|
||||
GIT_EMAIL:
|
||||
from_secret: GIT_EMAIL
|
||||
entrypoint: ["/bumpversion"]
|
||||
command: ["--no-commit", "--no-tag", "patch"]
|
||||
load: false # do not use /bin/sh -c here
|
||||
when:
|
||||
branch:
|
||||
- task-*
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: "[master] bump version"
|
||||
image: registry.halfakop.ru/golang/bumpversion:0.1.3
|
||||
environment:
|
||||
GIT_USERNAME:
|
||||
from_secret: GIT_USERNAME
|
||||
GIT_EMAIL:
|
||||
from_secret: GIT_EMAIL
|
||||
entrypoint: ["/bumpversion"]
|
||||
command: ["patch"]
|
||||
load: false # do not use /bin/sh -c here
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: "[master] build"
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
path: /var/run/docker.sock
|
||||
environment:
|
||||
DOCKER_USERNAME:
|
||||
from_secret: DOCKER_USERNAME
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
commands:
|
||||
- apk add make git bash
|
||||
- make login build DOCKER_OPTS="--network devtools"
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
status:
|
||||
- success
|
||||
|
||||
- name: "[master] tagging"
|
||||
image: alpine/git
|
||||
commands:
|
||||
- git push origin master
|
||||
- git push origin master --tags
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
status:
|
||||
- success
|
||||
|
||||
- name: "[master] push"
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
path: /var/run/docker.sock
|
||||
environment:
|
||||
DOCKER_USERNAME:
|
||||
from_secret: DOCKER_USERNAME
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
commands:
|
||||
- apk add make git bash
|
||||
- make login push DOCKER_OPTS="--network devtools"
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
status:
|
||||
- success
|
||||
|
||||
- name: "[release] get deployment repo"
|
||||
image: plugins/ansible:1
|
||||
commands:
|
||||
- git clone https://git.halfakop.ru/3dthis.ru/deployment.git
|
||||
when:
|
||||
branch:
|
||||
- release
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: "[release] check deployment playbook"
|
||||
image: plugins/ansible:1
|
||||
environment:
|
||||
SERVICE_NAME: backend
|
||||
settings:
|
||||
playbook: deployment/deployment.yml
|
||||
inventory: deployment/inventory_service.yml
|
||||
syntax_check: true
|
||||
when:
|
||||
branch:
|
||||
- release
|
||||
status:
|
||||
- success
|
||||
|
||||
- name: "[release] deploy service"
|
||||
image: plugins/ansible:1
|
||||
environment:
|
||||
SERVICE_NAME: backend
|
||||
DATABASE_URL:
|
||||
from_secret: DATABASE_URL
|
||||
settings:
|
||||
playbook: deployment/deployment.yml
|
||||
inventory: deployment/inventory_service.yml
|
||||
private_key:
|
||||
from_secret: SSHKEY
|
||||
verbose: 1 # 0 .. 4
|
||||
when:
|
||||
branch:
|
||||
- release
|
||||
status:
|
||||
- success
|
||||
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
image_pull_secrets:
|
||||
- dockerconfigjson
|
||||
Reference in New Issue
Block a user