Soutrik commited on
Commit
8a103fd
·
1 Parent(s): 3b72aa1

adding cd.yaml

Browse files
Files changed (1) hide show
  1. .github/workflows/cd.yaml +69 -0
.github/workflows/cd.yaml ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Deploy PyTorch Training to ECR with Docker Compose
2
+
3
+ on:
4
+ workflow_run:
5
+ workflows: ["CI Pipeline"]
6
+ types:
7
+ - completed
8
+
9
+ jobs:
10
+ deploy:
11
+ runs-on: self-hosted
12
+
13
+ steps:
14
+ - name: Checkout repository
15
+ uses: actions/checkout@v4
16
+
17
+ - name: Set up Docker Buildx
18
+ uses: docker/setup-buildx-action@v3
19
+
20
+ - name: Configure AWS credentials
21
+ uses: aws-actions/configure-aws-credentials@v4
22
+ with:
23
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
24
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
25
+ aws-region: ${{ secrets.AWS_REGION }}
26
+
27
+ - name: Create .env file
28
+ run: |
29
+ echo "AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}" >> .env
30
+ echo "AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}" >> .env
31
+ echo "AWS_REGION=${{ secrets.AWS_REGION }}" >> .env
32
+
33
+ - name: Build Docker image with .env
34
+ env:
35
+ REGISTRY: ${{ secrets.AWS_REGISTRY }}
36
+ REPOSITORY: soutrik71/pytorch_catdog
37
+ IMAGE_TAG: ${{ github.sha }}
38
+ run: |
39
+ docker build -t $REGISTRY/$REPOSITORY:$IMAGE_TAG .
40
+
41
+ - name: Run Docker Compose for train service
42
+ run: |
43
+ docker-compose up -d --build train # Start only the `train` service
44
+
45
+ - name: Tag Docker image
46
+ env:
47
+ REGISTRY: ${{ secrets.AWS_REGISTRY }}
48
+ REPOSITORY: soutrik71/pytorch_catdog
49
+ IMAGE_TAG: ${{ github.sha }}
50
+ run: |
51
+ docker tag $REGISTRY/$REPOSITORY:$IMAGE_TAG $REGISTRY/$REPOSITORY:latest
52
+
53
+ - name: Push Docker image to ECR
54
+ env:
55
+ REGISTRY: ${{ secrets.AWS_REGISTRY }}
56
+ REPOSITORY: soutrik71/pytorch_catdog
57
+ IMAGE_TAG: ${{ github.sha }}
58
+ run: |
59
+ docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG
60
+ docker push $REGISTRY/$REPOSITORY:latest
61
+
62
+ - name: Pull Docker image from ECR and verify
63
+ env:
64
+ REGISTRY: ${{ secrets.AWS_REGISTRY }}
65
+ REPOSITORY: soutrik71/pytorch_catdog
66
+ IMAGE_TAG: ${{ github.sha }}
67
+ run: |
68
+ docker pull $REGISTRY/$REPOSITORY:$IMAGE_TAG
69
+ docker images | grep "$REGISTRY/$REPOSITORY"