mirror of
https://github.com/simon987/ws_bucket.git
synced 2025-12-14 07:09:07 +00:00
jenkins setup
This commit is contained in:
71
jenkins/Jenkinsfile
vendored
Normal file
71
jenkins/Jenkinsfile
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
def remote = [:]
|
||||
remote.name = 'remote'
|
||||
remote.host = 'localhost'
|
||||
remote.user = 'simon'
|
||||
remote.identityFile = '/var/lib/jenkins/.ssh/id_rsa'
|
||||
remote.knownHosts = '/var/lib/jenkins/.ssh/known_hosts'
|
||||
remote.allowAnyHosts = true
|
||||
remote.retryCount = 3
|
||||
remote.retryWaitSec = 3
|
||||
logLevel = 'FINER'
|
||||
|
||||
pipeline {
|
||||
agent none
|
||||
environment {
|
||||
GOOS='linux'
|
||||
CGO_ENABLED='1'
|
||||
HOME='.'
|
||||
WS_BUCKET_ADDR='127.0.0.1:3021'
|
||||
WS_BUCKET_WORKDIR='./data/'
|
||||
}
|
||||
stages {
|
||||
stage('Parallel build & test') {
|
||||
failFast true
|
||||
parallel {
|
||||
stage('Build - api') {
|
||||
agent {
|
||||
docker {
|
||||
image 'golang:latest'
|
||||
args '--network "host"'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'mkdir -p /go/src/github.com/simon987/ws_bucket'
|
||||
sh 'cp -r api main.go "/go/src/github.com/simon987/ws_bucket"'
|
||||
sh 'cd /go/src/github.com/simon987/ws_bucket && go get ./...'
|
||||
sh 'cd /go/src/github.com/simon987/ws_bucket && go build -a -installsuffix cgo -o "${WORKSPACE}/ws_bucket" .'
|
||||
stash includes: 'ws_bucket', name: 'apidist'
|
||||
}
|
||||
}
|
||||
stage('Test - api') {
|
||||
agent {
|
||||
docker {
|
||||
image 'golang:latest'
|
||||
args '--network "host"'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'mkdir -p /go/src/github.com/simon987/ws_bucket'
|
||||
sh 'cp -r api test main.go "/go/src/github.com/simon987/ws_bucket"'
|
||||
sh 'cd /go/src/github.com/simon987/ws_bucket/ && go get -t ./test/...'
|
||||
sh 'cd /go/src/github.com/simon987/ws_bucket/test && go test .'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Deploy') {
|
||||
agent none
|
||||
steps {
|
||||
node('master') {
|
||||
unstash 'apidist'
|
||||
sshCommand remote: remote, command: "cd ws_bucket && rm -rf ws_bucket deploy.sh"
|
||||
sshPut remote: remote, from: 'ws_bucket', into: 'ws_bucket/ws_bucket'
|
||||
sshPut remote: remote, from: 'jenkins/deploy.sh', into: 'ws_bucket/'
|
||||
sshCommand remote: remote, command: 'chmod +x ws_bucket/deploy.sh && ./ws_bucket/deploy.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
9
jenkins/deploy.sh
Executable file
9
jenkins/deploy.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
export WSBROOT="ws_bucket"
|
||||
|
||||
screen -S ws_bucket -X quit
|
||||
echo "starting ws_bucket"
|
||||
screen -S ws_bucket -d -m bash -c "cd ${WSBROOT} && chmod +x ws_bucket && ./ws_bucket"
|
||||
sleep 1
|
||||
screen -list
|
||||
Reference in New Issue
Block a user