-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
68 lines (68 loc) · 3.47 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# You can override the included template(s) by including variable overrides
# SAST customization: https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings
# Secret Detection customization: https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings
# Dependency Scanning customization: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-the-dependency-scanning-settings
# Container Scanning customization: https://docs.gitlab.com/ee/user/application_security/container_scanning/#customizing-the-container-scanning-settings
# Note that environment variables can be set in several places
# See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence
include:
- template: Security/SAST.gitlab-ci.yml
stages:
- test
- build
- deploy
image: docker:19.03.12
build:
stage: build
tags:
- docker-build
before_script:
- docker info
script:
- echo $CI_PIPELINE_SOURCE
- docker login -u "$HUB_USER" -p "$HUB_PASSWORD"
- docker build -t "nicklesbread/seniordesign" .
- docker image tag "nicklesbread/seniordesign:latest" "nicklesbread/seniordesign:$CI_PIPELINE_IID"
- docker image tag "nicklesbread/seniordesign:latest" "nicklesbread/seniordesign:latest"
- docker image push "nicklesbread/seniordesign:latest"
- docker image push "nicklesbread/seniordesign:$CI_PIPELINE_IID"
rules:
- if: $CI_BUILD_REF_NAME == "main"
when: always
- when: never
deploy:
stage: deploy
needs: ["build"]
tags:
- docker-build
image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
rules:
- if: $CI_BUILD_REF_NAME == "main"
when: always
- when: never
script:
- find ./ecs_json -type f -exec sed -i -e "s/@DOCKER_TAG/${CI_PIPELINE_IID}/g" {}
\;
- aws ecs register-task-definition --cli-input-json file://ecs_json/task_def_bill_data_worker.json
- aws ecs register-task-definition --cli-input-json file://ecs_json/task_def_flask_server.json
- aws ecs register-task-definition --cli-input-json file://ecs_json/task_def_twitter_tweet_worker.json
- aws ecs register-task-definition --cli-input-json file://ecs_json/task_def_twitter_tweet_worker_2.json
- aws ecs register-task-definition --cli-input-json file://ecs_json/task_def_twitter_tweet_worker_3.json
- aws ecs register-task-definition --cli-input-json file://ecs_json/task_def_twitter_user_worker.json
- aws ecs register-task-definition --cli-input-json file://ecs_json/task_def_ml_worker.json
- aws ecs register-task-definition --cli-input-json file://ecs_json/task_def_dash.json
# - aws ecs update-service --cluster senior-design --service bill_data_worker --task-definition
# bill_data_worker
# - aws ecs update-service --cluster senior-design --service flask --task-definition
# flask_server
# - aws ecs update-service --cluster senior-design --service twitter_user_worker --task-definition
# twitter_user_worker
# - aws ecs update-service --cluster senior-design --service twitter_tweet_worker
# --task-definition twitter_tweet_worker
# - aws ecs update-service --cluster senior-design --service twitter_tweet_worker_2
# --task-definition twitter_tweet_worker_2
# - aws ecs update-service --cluster senior-design --service twitter_tweet_worker_3
# --task-definition twitter_tweet_worker_3
# - aws ecs update-service --cluster senior-design --service ml_worker --task-definition
# ml_worker
- aws ecs update-service --cluster senior-design --service dashboard --task-definition dashboard