-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest1
95 lines (86 loc) · 2.86 KB
/
test1
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
// On place les composantes dans un dossier $WORKSPACE/base_folder
def base_folder = "moodle"
// On obtient l'emplacement a partir du nom de depot
// S'il y a une composante que ne possede pas le bon nom on l'explicite
// dans components
// ATTENTION: blocks/completion_progress, blocks/side_bar, blocks/uqam_notification
def findInstallPath(String name, String base_folder) {
def parts = name.split(/\//)[1]
def components = parts.split(/_/)
// On place les composantes dans un dossier $WORKSPACE/base_folder
def component_path = "${base_folder}/" + components.join("/")
}
// On veu pouvoir placer des elements ailleurs
def components = [
'uqam/moodle': "${base_folder}",
'uqam/auth_saml2': null,
'uqam/configphp' : 'config',
'uqam/docker-mdluqam': 'docker'
]
// Si une composante utilise une autre branche que UQAM_30_DEV, on l'explicite ici
def mybranches = [
'uqam/moodle': 'MOODLE_33_STABLE',
'uqam/auth_saml2': 'MOODLE_33PLUS',
'uqam/configphp' : 'UQAM_30_k8s',
'uqam/docker-mdluqam': 'UQAM_WEB_STABLE'
]
job('Moodle-test') {
parameters {
stringParam('VERSION', 'v0.9.48Saml')
}
multiscm {
def mycomps = components.keySet()
mycomps.each {
def depot = "https://bitbucket.org/"+"${it}"+".git"
// On peut overrrider le chemin
def folder = components["${it}"]? components["${it}"]: findInstallPath("${it}", "${base_folder}")
def mybranch = mybranches["${it}"]
git {
remote {
url(depot)
// C'est le id de l'identifiant..
credentials('uqamena-BB')
if (mybranch == null) {
branch('UQAM_30_DEV')
} else {
branch(mybranch)
}
}
extensions {
cloneOptions {
shallow()
}
cleanAfterCheckout()
relativeTargetDirectory(folder)
}
}
}
}
steps {
// Etape anterieure genere folders @tmp qu'on veut efface.
shell("find \$WORKSPACE -name '*@tmp' -exec rm -rf {} +; ")
// À révoir pour que ça marche pour toute la gangue.
shell("rm -rf \$WORKSPACE/moodle/.git")
shell("rm -rf \$WORKSPACE/moodle/auth/saml2/.git")
// Mettre le Dockerfile à la racine du $WORKSPACE
shell("cp \$WORKSPACE/docker/Dockerfile \$WORKSPACE")
shell('''
if [ ! -d \$WORKSPACE/php-config ]
then
mkdir \$WORKSPACE/php-config
fi
cp \$WORKSPACE/docker/php-config/php.ini \$WORKSPACE/php-config
cp \$WORKSPACE/docker/apache2.conf \$WORKSPACE
''')
dockerBuildAndPublish {
repositoryName('nmolleruq/uqammdl')
registryCredentials('nmolleruq')
forcePull(false)
forceTag(false)
createFingerprints(false)
skipDecorate()
tag('${VERSION}')
skipTagAsLatest()
}
}
}