-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
70 lines (67 loc) · 1.67 KB
/
Jenkinsfile
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
pipeline {
agent any
options {
buildDiscarder(logRotator(numToKeepStr: '10'))
}
environment {
DOCKER_CREDS = credentials('amazeeiojenkins-dockerhub-password')
COMPOSE_PROJECT_NAME = "laravel-distro-${BUILD_ID}"
}
stages {
stage('Docker login') {
steps {
sh '''
docker login --username amazeeiojenkins --password $DOCKER_CREDS
'''
}
}
stage('Docker Build') {
steps {
sh '''
docker network create amazeeio-network || true
docker-compose config -q
docker-compose down
docker-compose up -d --build "$@"
'''
}
}
stage('Waiting') {
steps {
sh """
sleep 5s
"""
}
}
stage('Verification') {
steps {
sh '''
docker-compose exec -T cli drush status
docker-compose exec -T cli curl http://nginx:8080 -v
if [ $? -eq 0 ]; then
echo "OK!"
else
echo "FAIL"
/bin/false
fi
docker-compose down
'''
}
}
stage('Docker Push') {
steps {
sh '''
echo "Branch: $GIT_BRANCH"
docker images | head
for variant in ''; do
echo docker tag laravel-distro$variant amazeeiodevelopment/laravel-distro$variant:$GIT_BRANCH
echo docker push amazeeiodevelopment/laravel-distro$variant:$GIT_BRANCH
if [ $GIT_BRANCH = "develop" ]; then
echo docker tag laravel-distro$variant amazeeiodevelopment/laravel-distro$variant:latest
echo docker push amazeeiodevelopment/laravel-distro$variant:latest
fi
done
'''
}
}
}
}