-
Notifications
You must be signed in to change notification settings - Fork 0
138 lines (111 loc) · 3.57 KB
/
docker-publish.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
name: Docker
on:
push:
branches:
- master
tags:
- v*
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Up environment
run: |
echo "PHP_FPM_PASSWORD=123456" > .env
docker compose up --build -d
- name: Wait environment
run: |
sleep 10
- name: Logs environment
run: |
docker compose ps
docker compose logs
- name: Test Normal
run: |
CONTENT=$(curl -s "http://127.0.0.1:83/");
echo "CHAMADA HTTP NORMAL: ${CONTENT}";
if [ "${CONTENT}" != "php" ]; then
echo "Chamada HTTP NORMAL retornou errado: ${CONTENT}"
exit 1;
fi
- name: Test Rewrite
run: |
CONTENT_REWRITE=$(curl -s "http://127.0.0.1:81/");
echo "CHAMADA HTTP REWRITE: ${CONTENT_REWRITE}";
if [ "${CONTENT_REWRITE}" != "rewrite" ]; then
echo "Chamada HTTP REWRITE retornou errado: ${CONTENT_REWRITE}"
exit 1;
fi
- name: Test Tryfiles
run: |
CONTENT_TRYFILES=$(curl -s "http://127.0.0.1:82/");
echo "CHAMADA HTTP TRYFILES: ${CONTENT_TRYFILES}";
if [ "${CONTENT_TRYFILES}" != "tryfiles" ]; then
echo "Chamada HTTP TRYFILES retornou errado: ${CONTENT_TRYFILES}"
exit 1;
fi
- name: Test Extras
run: |
CONTENT=$(curl -s -o /dev/null -I -w "%{content_type}" http://127.0.0.1:84/zzz);
echo "CHAMADA HTTP: ${CONTENT}";
if [ "${CONTENT}" != "image/gif" ]; then
echo "Chamada HTTP retornou errado: ${CONTENT}"
exit 1;
fi
- name: Test Extras var
run: |
CONTENT=$(curl -s -o /dev/null -I -w "%{content_type}" http://127.0.0.1:89/zzz);
echo "CHAMADA HTTP: ${CONTENT}";
if [ "${CONTENT}" != "image/gif" ]; then
echo "Chamada HTTP retornou errado: ${CONTENT}"
exit 1;
fi
- name: Test Filebeat
run: |
CONTENT=$(curl -s "http://127.0.0.1:85/");
echo "CHAMADA HTTP TRYFILES: ${CONTENT}";
if [ "${CONTENT}" != "tryfiles" ]; then
echo "Chamada HTTP TRYFILES retornou errado: ${CONTENT}"
exit 1;
fi
push:
needs: test
runs-on: ubuntu-latest
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.CR_PAT }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: Dockerfile
build-args: |
PHP_FPM_PASSWORD=${{ secrets.FPM_PASSWORD }}
push: true
tags: |
likesistemas/nginx:latest
ghcr.io/likesistemas/nginx:latest
- name: Build and push with filebeat
uses: docker/build-push-action@v2
with:
context: .
file: Dockerfile.filebeat
push: true
tags: |
likesistemas/nginx:filebeat
ghcr.io/likesistemas/nginx:filebeat