概要 †
目次 †
.drone.yml †
kind: pipeline
type: docker
name: default
steps:
- name: "build and push to registry"
image: docker/compose
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: registrypwd
path: /tmp/registry-password
commands:
- "nowdate=`date +%Y%m%d_%H%M%S`"
- "appname=sample-app1"
- "cat /tmp/registry-password | docker login ${REGISTRY_NAME} --username ${REGISTRY_USER} --password-stdin"
- "docker build -t $appname ."
- "docker tag $appname $REGISTRY_NAME/$appname:latest"
- "docker tag $appname $REGISTRY_NAME/$appname:$nowdate"
- "docker push $REGISTRY_NAME/$appname:latest"
- "docker push $REGISTRY_NAME/$appname:$nowdate"
when:
branch:
- master
- name: "docker pull and restart"
image: docker/compose
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: registrypwd
path: /tmp/registry-password
commands:
- "appname=sample-app1"
- "cat /tmp/registry-password | docker login ${REGISTRY_NAME} --username ${REGISTRY_USER} --password-stdin"
- "if [ `docker ps | grep $appname | wc -l` != \"0\" ]; then docker stop $appname ; fi"
- "if [ `docker ps -a | grep $appname | wc -l` != \"0\" ]; then docker rm $appname ; fi"
- "if [ `docker images | grep ${REGISTRY_NAME}/${appname}:latest | wc -l` != \"0\" ]; then docker rmi ${REGISTRY_NAME}/${appname}:latest; fi"
- "docker-compose up --build -d"
when:
branch:
- master
volumes:
- name: dockersock
host:
path: /var/run/docker.sock
- name: registrypwd
host:
path: /path/to/registry-password