Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- kind: pipeline
- name: default
- steps:
- - name: build-deploy-and-run
- image: docker:stable
- environment:
- MYSQL:
- from_secret: MySQL
- REGISTRY:
- from_secret: registry
- PORTAINER:
- from_secret: portainer
- USERNAME:
- from_secret: username
- PASSWORD:
- from_secret: password
- commands:
- - sed -i "s|\"MySQL\": \"Server=172.17.0.1; Port=3306; Database=KDGPLANNER; Uid=username; Pwd=password;\"|$MYSQL|g" Planner.UI.MVC/appsettings.json
- - docker build -t KdGPlanner .
- - docker tag KdGPlanner $REGISTRY
- - docker push $REGISTRY
- - JWT=$(curl --header "Content-Type: application/json" --request POST --data "{\"Username\":\"$USERNAME\",\"Password\":\"$PASSWORD\"}" $PORTAINER/auth | grep -Eo '[^"]{20,}')
- - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request POST $PORTAINER/endpoints/1/docker/containers/kdgplanner/stop
- - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request DELETE $PORTAINER/endpoints/1/docker/containers/kdgplanner
- - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request DELETE $PORTAINER/endpoints/1/docker/images/$REPOSITORY
- - curl --header "Content-Type: application/json" --header "Authorization: Bearer $JWT" --request POST $PORTAINER/endpoints/1/docker/images/create?fromImage=$REPOSITORY&tag=latest
- - sleep 7
- - 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
- - 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