mirror of
https://github.com/simon987/task_tracker_drone.git
synced 2025-12-20 10:35:59 +00:00
Jenkins setup
This commit is contained in:
33
jenkins/Jenkinsfile
vendored
Normal file
33
jenkins/Jenkinsfile
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
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'
|
||||
|
||||
pipeline {
|
||||
agent any
|
||||
stages {
|
||||
stage('Build') {
|
||||
steps {
|
||||
sh './jenkins/build.sh'
|
||||
stash includes: 'env/', name: 'env'
|
||||
}
|
||||
}
|
||||
stage('Test') {
|
||||
steps {
|
||||
unstash 'env'
|
||||
sh 'bash -c "source env/bin/activate && cd src && python -m unittest discover"'
|
||||
}
|
||||
}
|
||||
stage('Deploy') {
|
||||
steps {
|
||||
unstash 'env'
|
||||
sshPut remote: remote, from: 'env', into: 'task_tracker_drone'
|
||||
sshPut remote: remote, from: 'jenkins/deploy.sh', into: 'task_tracker_drone/deploy.sh'
|
||||
sshPut remote: remote, from: 'src', into: 'task_tracker_drone'
|
||||
sshCommand remote: remote, command: 'chmod +x task_tracker_drone/deploy.sh && ./task_tracker_drone/deploy.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
9
jenkins/build.sh
Executable file
9
jenkins/build.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
virtualenv env --download --always-copy --clear -p python3.7
|
||||
source env/bin/activate
|
||||
python --version
|
||||
|
||||
pip install -r requirements.txt
|
||||
deactivate
|
||||
|
||||
9
jenkins/deploy.sh
Executable file
9
jenkins/deploy.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
export DRONEROOT="task_tracker_drone"
|
||||
|
||||
screen -S tt_drone -X quit
|
||||
echo "starting drone"
|
||||
screen -S tt_drone -d -m bash -c "cd ${DRONEROOT} && source env/bin/activate && python src/tt_drone/drone.py"
|
||||
sleep 1
|
||||
screen -list
|
||||
Reference in New Issue
Block a user