File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ name : Docker Image CI
2+
3+ on :
4+ push :
5+ branches : ["master"]
6+ pull_request :
7+ branches : ["master"]
8+
9+ jobs :
10+ build :
11+ runs-on : ubuntu-latest
12+
13+ env :
14+ TZ : Asia/Shanghai
15+ DOCKERHUB_USER : ${{ secrets.DOCKERHUB_USERNAME }}
16+ IMAGE_NAME : ${{ secrets.IMAGE_NAME }}
17+
18+ steps :
19+ - uses : actions/checkout@v4
20+
21+ - name : Set image tag
22+ run : echo "TAG=$(date +%Y%m%d)-${{ github.run_number }}" >> $GITHUB_ENV
23+
24+ - name : Log in to Docker Hub
25+ if : ${{ github.event_name == 'push' }}
26+ run : echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u "${{ env.DOCKERHUB_USER }}" --password-stdin
27+
28+ - name : Build Docker image
29+ run : |
30+ docker build . \
31+ -t ${{ env.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}
32+
33+ - name : Tag and Push (date tag + latest)
34+ if : ${{ github.event_name == 'push' }}
35+ run : |
36+ docker tag ${{ env.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:${{ env.TAG }} \
37+ ${{ env.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:latest
38+
39+ docker push ${{ env.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}
40+ docker push ${{ env.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:latest
41+
42+ - name : Show pushed image info
43+ if : ${{ github.event_name == 'push' }}
44+ run : |
45+ echo "✅ Image pushed:"
46+ echo " - ${{ env.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}"
47+ echo " - ${{ env.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:latest"
You can’t perform that action at this time.
0 commit comments