Advertisement
Guest User

Drone

a guest
Aug 3rd, 2019
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 1.90 KB | None | 0 0
  1. kind: pipeline
  2. name: default
  3.  
  4. steps:
  5. - name: build-deploy-and-run
  6.   image: docker:stable
  7.   environment:
  8.     MYSQL:
  9.       from_secret: MySQL
  10.     REGISTRY:
  11.       from_secret: registry
  12.     PORTAINER:
  13.       from_secret: portainer
  14.     USERNAME:
  15.       from_secret: username
  16.     PASSWORD:
  17.       from_secret: password
  18.   commands:
  19.   - sed -i "s|\"MySQL\": \"Server=172.17.0.1; Port=3306; Database=KDGPLANNER; Uid=username; Pwd=password;\"|$MYSQL|g" Planner.UI.MVC/appsettings.json
  20.  - docker build -t KdGPlanner .
  21.  - docker tag KdGPlanner $REGISTRY
  22.  - docker push $REGISTRY
  23.  - JWT=$(curl --header "Content-Type: application/json" --request POST --data "{\"Username\":\"$USERNAME\",\"Password\":\"$PASSWORD\"}" $PORTAINER/auth | grep -Eo '[^"]{20,}')
  24.   - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request POST $PORTAINER/endpoints/1/docker/containers/kdgplanner/stop
  25.  - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request DELETE $PORTAINER/endpoints/1/docker/containers/kdgplanner
  26.  - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request DELETE $PORTAINER/endpoints/1/docker/images/$REPOSITORY
  27.  - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request POST $PORTAINER/endpoints/1/docker/images/create?fromImage=$REPOSITORY&tag=latest
  28.  - sleep 7
  29.  - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --data "{\"PortBindings\": { \"80/tcp\": [{ \"HostPort\": \"8081\" }] },\"RestartPolicy\": { \"Name\": \"unless-stopped\", \"MaximumRetryCount\": 0 },\"Image\": \"$REPOSITORY\"}" --request POST $PORTAINER/endpoints/1/docker/containers/create?name=kdgplanner
  30.  - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request POST $PORTAINER/endpoints/1/docker/containers/kdgplanner/start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement