@@ -2,26 +2,30 @@ image: ubuntu:16.04
2
2
3
3
stages :
4
4
- test
5
+ - docker_build
5
6
6
7
variables :
7
8
POSTGRES_DB : dbname # set database
8
9
POSTGRES_USER : username # set username
9
10
POSTGRES_PASSWORD : " "
10
11
11
- before_script :
12
- - apt-get update
13
- - apt-get install -y jq curl wget
14
- - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
15
- - echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main $PG_SERVER_VERSION" > /etc/apt/sources.list.d/pgdg.list
16
- - apt-get update
17
- - apt-get -y upgrade
18
- - apt-get -y install golang-1.9-go
19
- - echo "export PATH=\$PATH:/usr/lib/go-1.9/bin" >> ~/.profile
20
- - source ~/.profile
21
- - apt-get -y install postgresql-client-11
22
- - psql --version
12
+ .prepare :
13
+ stage : test
14
+ before_script :
15
+ - apt-get update
16
+ - apt-get install -y jq curl wget git s3cmd sudo golang-1.9-go
17
+ - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
18
+ - echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main $PG_SERVER_VERSION" > /etc/apt/sources.list.d/pgdg.list
19
+ - apt-get update
20
+ - apt-get -y upgrade
21
+ - apt-get -y install postgresql-client-11
22
+ - psql --version
23
+ - echo "export PATH=\$PATH:/usr/lib/go-1.9/bin" >> ~/.profile
24
+ - source ~/.profile
23
25
24
26
.test-check :
27
+ stage : test
28
+ extends : " .prepare"
25
29
script :
26
30
- psql -h postgres -d dbname -U username -c "SELECT version();"
27
31
- echo "Test H003 Non indexed FKs"
@@ -48,20 +52,18 @@ before_script:
48
52
49
53
test-general :
50
54
stage : test
55
+ extends : " .prepare"
51
56
before_script :
52
57
- apt-get update
53
- - apt-get install -y jq curl wget git s3cmd
58
+ - apt-get install -y jq curl wget git s3cmd sudo golang-1.9-go
54
59
- wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
55
60
- echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main $PG_SERVER_VERSION" > /etc/apt/sources.list.d/pgdg.list
56
61
- apt-get update
57
62
- apt-get -y upgrade
58
- - apt-get install -y sudo
59
- - apt-get -y install golang-1.9-go
63
+ - apt-get -y install postgresql-11 postgresql-contrib-11 postgresql-client-11 postgresql-server-dev-11 && apt-get install -y postgresql-11-pg-stat-kcache
64
+ - psql --version
60
65
- echo "export PATH=\$PATH:/usr/lib/go-1.9/bin" >> ~/.profile
61
66
- source ~/.profile
62
- - apt-get -y install postgresql-11 postgresql-contrib-11 postgresql-client-11
63
- - psql --version
64
- - apt-get install -y postgresql-server-dev-11 && apt-get install -y postgresql-11-pg-stat-kcache
65
67
- echo "local all all trust" > /etc/postgresql/11/main/pg_hba.conf
66
68
- echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/11/main/pg_hba.conf
67
69
- echo "host all all ::1/128 trust" >> /etc/postgresql/11/main/pg_hba.conf
@@ -117,6 +119,7 @@ test-general:
117
119
118
120
test-pghrep :
119
121
stage : test
122
+ extends : " .prepare"
120
123
script :
121
124
- cd pghrep && make test
122
125
@@ -142,6 +145,7 @@ test-check-cli:
142
145
services :
143
146
- postgres:11
144
147
stage : " test"
148
+ extends : " .prepare"
145
149
script : |
146
150
errcount=0
147
151
printTail=" "
@@ -157,3 +161,44 @@ test-check-cli:
157
161
>&2 echo "Oh no! $errcount tests failed"
158
162
exit 1
159
163
fi
164
+
165
+
166
+ Docker build master :
167
+ image : docker:stable
168
+ stage : docker_build
169
+ when : on_success
170
+ variables :
171
+ DOCKER_DRIVER : overlay2
172
+ DOCKER_HOST : tcp://docker:2375
173
+ only :
174
+ - master
175
+ - docker_build
176
+ services :
177
+ - docker:dind
178
+ before_script :
179
+ - docker login -u gitlab-ci-token -p "${CI_BUILD_TOKEN}" registry.gitlab.com
180
+ script :
181
+ - docker build -t registry.gitlab.com/postgres-ai/postgres-checkup:latest --no-cache=true .
182
+ - docker push registry.gitlab.com/postgres-ai/postgres-checkup:latest
183
+ after_script :
184
+ - docker logout registry.gitlab.com
185
+
186
+ Docker build for tag :
187
+ image : docker:stable
188
+ stage : docker_build
189
+ when : on_success
190
+ variables :
191
+ DOCKER_DRIVER : overlay2
192
+ DOCKER_HOST : tcp://docker:2375
193
+ only :
194
+ variables :
195
+ - $CI_COMMIT_TAG != null
196
+ services :
197
+ - docker:dind
198
+ before_script :
199
+ - docker login -u gitlab-ci-token -p "${CI_BUILD_TOKEN}" registry.gitlab.com
200
+ script :
201
+ - docker build -t registry.gitlab.com/postgres-ai/postgres-checkup:$CI_COMMIT_TAG --no-cache=true .
202
+ - docker push registry.gitlab.com/postgres-ai/postgres-checkup:$CI_COMMIT_TAG
203
+ after_script :
204
+ - docker logout registry.gitlab.com
0 commit comments