2018-02-18 12:13:50 +01:00
|
|
|
|
2018-02-18 19:38:42 +01:00
|
|
|
pipeline {
|
|
|
|
agent any
|
2018-02-18 19:15:37 +01:00
|
|
|
|
2018-02-18 19:38:42 +01:00
|
|
|
stages {
|
|
|
|
|
|
|
|
stage('Clone') {
|
2018-02-18 19:41:27 +01:00
|
|
|
steps{
|
|
|
|
node{
|
|
|
|
def app
|
|
|
|
// for display purposes
|
|
|
|
// Get some code from a GitHub repository
|
|
|
|
git 'https://github.com/BrokenFire/BrokenDiscordBot.git'
|
|
|
|
}
|
2018-02-18 19:38:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
stage('Build image') {
|
|
|
|
/* This builds the actual image; synonymous to
|
|
|
|
* docker build on the command line */
|
|
|
|
node{
|
|
|
|
app = docker.build("brokenfire/brokendiscordbot","--rm=true .")
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
stage('Push image') {
|
|
|
|
/* Finally, we'll push the image with two tags:
|
|
|
|
* First, the incremental build number from Jenkins
|
|
|
|
* Second, the 'latest' tag.
|
|
|
|
* Pushing multiple tags is cheap, as all the layers are reused. */
|
|
|
|
node{
|
|
|
|
app.push()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
stage('Cleaning'){
|
|
|
|
sh "docker image prune -f"
|
|
|
|
}
|
2018-02-18 19:20:14 +01:00
|
|
|
}
|
2018-02-18 19:38:42 +01:00
|
|
|
}
|