def getHost(){
def remote = [:]
remote.name = 'test'
remote.host = '1.1.1.1'
remote.user = 'root'
remote.password = 'password'
remote.allowAnyHosts = true
return remote
}
pipeline {
agent any
stages {
stage('get host') {
steps {
script {
server = getHost()
}
}
}
stage('Remote SSH') {
steps {
sshCommand remote: server, command: "ls -lrt"
sshCommand remote: server, command: "for i in {1..5}; do echo -n \"Loop \$i \"; date ; sleep 1; done"
}
}
stage('checkout') {
steps {
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[url: 'https://gitee.com/dl88250/solo.git']]])
}
}
stage('docker build') {
steps {
script {
sh 'docker build -t $(hostname -I | awk \'{print $1}\')/test/solo:$tag ./'
}
}
}
stage('push library') {
steps {
script {
sh 'docker login $(hostname -I | awk \'{print $1}\') -u admin -p Harbor12345'
sh 'docker push $(hostname -I | awk \'{print $1}\')/test/solo:$tag'
}
}
}
stage('deploy') {
steps {
sshCommand remote: server, command: "docker login -u admin -p Harbor12345 134.175.85.103"
sshCommand remote: server, command: "docker run -itd --name mysolo 134.175.85.103/test/solo:$tag"
}
}
stage('test') {
steps {
echo "testing"
}
}
}
}