Skip to content

Commit f9ab725

Browse files
committed
Add Docker CI workflow for automated build and deployment
1 parent d3ac41f commit f9ab725

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

.github/workflows/docker.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Docker CI
2+
3+
on:
4+
push:
5+
branches: ["build"]
6+
workflow_call:
7+
workflow_dispatch:
8+
9+
jobs:
10+
build:
11+
runs-on: 'ubuntu-latest'
12+
13+
steps:
14+
- name: Clone repository
15+
uses: actions/checkout@v4
16+
with:
17+
ref: build
18+
19+
- name: Login to Docker Hub
20+
uses: docker/login-action@v3
21+
with:
22+
username: ${{ secrets.APP_DOCKER_USERNAME }}
23+
password: ${{ secrets.APP_DOCKER_PASSWORD }}
24+
25+
- name: Build Docker image
26+
run: |
27+
docker build -t mrepol742/project-canis:latest .
28+
29+
- name: Push Docker image
30+
run: |
31+
docker push mrepol742/project-canis:latest
32+
33+
- name: Run Docker container
34+
run: |
35+
docker run -d -p 3000:3000 --name project-canis mrepol742/project-canis:latest
36+
37+
- name: Check container logs
38+
run: |
39+
docker logs project-canis
40+
41+
- name: Stop and remove container
42+
if: always()
43+
run: |
44+
docker stop project-canis
45+
docker rm project-canis

0 commit comments

Comments
 (0)