Skip to content

Commit 18e9374

Browse files
committed
update
1 parent 380ac93 commit 18e9374

1 file changed

Lines changed: 87 additions & 96 deletions

File tree

.github/workflows/cicd.yaml

Lines changed: 87 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -3,105 +3,96 @@ name: workflow
33
on:
44
push:
55
branches:
6-
- main
6+
- master
77
paths-ignore:
88
- "README.md"
9-
10-
name: workflow
11-
12-
on:
13-
push:
14-
branches:
15-
- master
16-
paths-ignore:
17-
- 'README.md'
18-
pull_request:
19-
branches:
20-
- master
9+
pull_request:
10+
branches:
11+
- master
2112

2213
permissions:
23-
id-token: write
24-
contents: read
14+
id-token: write
15+
contents: read
2516

2617
jobs:
27-
integration:
28-
name: Continuous Integration
29-
runs-on: self-hosted
30-
steps:
31-
- name: Checkout Code
32-
uses: actions/checkout@v3
33-
34-
- name: Lint code
35-
run: echo "Linting repository"
36-
37-
- name: Run unit tests
38-
run: echo "Running unit tests"
39-
40-
build_and_push_ecr_image:
41-
name: Continuous Delivery
42-
needs: integration
43-
runs-on: self-hosted
44-
steps:
45-
- name: Checkout Code
46-
uses: actions/checkout@v3
47-
48-
- name: Install Utilities
49-
run: |
50-
sudo apt-get update
51-
sudo apt-get install -y jq unzip
52-
53-
- name: Configure AWS credentials
54-
uses: aws-actions/configure-aws-credentials@v1
55-
with:
56-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
57-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
58-
aws-region: ${{ secrets.AWS_REGION }}
59-
60-
- name: Login to Amazon ECR
61-
id: login-ecr
62-
uses: aws-actions/amazon-ecr-login@v1
63-
64-
- name: Build, tag, and push image to Amazon ECR
65-
env:
66-
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
67-
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY_NAME }}
68-
IMAGE_TAG: latest
69-
run: |
70-
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
71-
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
72-
echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
73-
74-
continuous_deployment:
75-
name: Continuous Deployment
76-
needs: build_and_push_ecr_image
77-
runs-on: self-hosted
78-
steps:
79-
- name: Checkout
80-
uses: actions/checkout@v3
81-
82-
- name: Configure AWS credentials
83-
uses: aws-actions/configure-aws-credentials@v1
84-
with:
85-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
86-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
87-
aws-region: ${{ secrets.AWS_REGION }}
88-
89-
- name: Login to Amazon ECR
90-
id: login-ecr
91-
uses: aws-actions/amazon-ecr-login@v1
92-
93-
- name: Pull latest images
94-
run: |
95-
docker pull ${{ secrets.AWS_ECR_LOGIN_URI }}/${{ secrets.ECR_REPOSITORY_NAME }}:latest
96-
97-
- name: Stop and remove container if running
98-
run: |
99-
docker ps -q --filter "name=cnncls" | grep -q . && docker stop cnncls && docker rm -fv cnncls
100-
101-
- name: Run Docker Image to serve users
102-
run: |
103-
docker run -d -p 8080:8080 --name=cnncls -e 'AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}' -e 'AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}' -e 'AWS_REGION=${{ secrets.AWS_REGION }}' ${{ secrets.AWS_ECR_LOGIN_URI }}/${{ secrets.ECR_REPOSITORY_NAME }}:latest
104-
105-
- name: Clean previous images and containers
106-
run: |
107-
docker system prune -f
18+
integration:
19+
name: Continuous Integration
20+
runs-on: self-hosted
21+
steps:
22+
- name: Checkout Code
23+
uses: actions/checkout@v3
24+
25+
- name: Lint code
26+
run: echo "Linting repository"
27+
28+
- name: Run unit tests
29+
run: echo "Running unit tests"
30+
31+
build_and_push_ecr_image:
32+
name: Continuous Delivery
33+
needs: integration
34+
runs-on: self-hosted
35+
steps:
36+
- name: Checkout Code
37+
uses: actions/checkout@v3
38+
39+
- name: Install Utilities
40+
run: |
41+
sudo apt-get update
42+
sudo apt-get install -y jq unzip
43+
44+
- name: Configure AWS credentials
45+
uses: aws-actions/configure-aws-credentials@v1
46+
with:
47+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
48+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
49+
aws-region: ${{ secrets.AWS_REGION }}
50+
51+
- name: Login to Amazon ECR
52+
id: login-ecr
53+
uses: aws-actions/amazon-ecr-login@v1
54+
55+
- name: Build, tag, and push image to Amazon ECR
56+
env:
57+
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
58+
ECR_REPOSITORY: ${{ secrets.ECR_REPOSITORY_NAME }}
59+
IMAGE_TAG: latest
60+
run: |
61+
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
62+
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
63+
echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
64+
65+
continuous_deployment:
66+
name: Continuous Deployment
67+
needs: build_and_push_ecr_image
68+
runs-on: self-hosted
69+
steps:
70+
- name: Checkout
71+
uses: actions/checkout@v3
72+
73+
- name: Configure AWS credentials
74+
uses: aws-actions/configure-aws-credentials@v1
75+
with:
76+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
77+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
78+
aws-region: ${{ secrets.AWS_REGION }}
79+
80+
- name: Login to Amazon ECR
81+
id: login-ecr
82+
uses: aws-actions/amazon-ecr-login@v1
83+
84+
- name: Pull latest images
85+
run: |
86+
docker pull ${{ secrets.AWS_ECR_LOGIN_URI }}/${{ secrets.ECR_REPOSITORY_NAME }}:latest
87+
88+
- name: Stop and remove container if running
89+
run: |
90+
docker ps -q --filter "name=cnncls" | grep -q . && docker stop cnncls && docker rm -fv cnncls
91+
92+
- name: Run Docker Image to serve users
93+
run: |
94+
docker run -d -p 8080:8080 --name=cnncls -e 'AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}' -e 'AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}' -e 'AWS_REGION=${{ secrets.AWS_REGION }}' ${{ secrets.AWS_ECR_LOGIN_URI }}/${{ secrets.ECR_REPOSITORY_NAME }}:latest
95+
96+
- name: Clean previous images and containers
97+
run: |
98+
docker system prune -f

0 commit comments

Comments
 (0)