Skip to content

Commit

Permalink
Added support for Continuous Integration with Jenkins and Gitlab
Browse files Browse the repository at this point in the history
  • Loading branch information
root committed Aug 4, 2020
1 parent d0f0327 commit 2612c83
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 0 deletions.
28 changes: 28 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
pipeline {
parameters {
password (name: 'DIGITALOCEAN_TOKEN')
}
environment {
TF_WORKSPACE = 'dev' //Sets the Terraform Workspace
TF_IN_AUTOMATION = 'true'
DIGITALOCEAN_TOKEN = "${params.DIGITALOCEAN_TOKEND}"
}
stages {
stage('Terraform Init') {
steps {
sh "${env.TERRAFORM_HOME}/terraform init -input=false"
}
}
stage('Terraform Plan') {
steps {
sh "${env.TERRAFORM_HOME}/terraform plan -out=tfplan -input=false -var-file='dev.tfvars'"
}
}
stage('Terraform Apply') {
steps {
input 'Apply Plan'
sh "${env.TERRAFORM_HOME}/terraform apply -input=false tfplan"
}
}
}
}
18 changes: 18 additions & 0 deletions Jenkinsfile.common
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
gitlabBuilds(builds: ['build', 'test', 'artifacts']) {

stage('build') { gitlabCommitStatus(name: 'build') {
sh "./gradlew --no-daemon clean build"
}}

stage('test') { gitlabCommitStatus(name: 'test') {
sh "./gradlew --no-daemon check"
}}

stage('artifacts') { gitlabCommitStatus(name: 'artifacts') {
archiveArtifacts artifacts: '**/build/libs/*.jar', fingerprint: true, onlyIfSuccessful: true
step([$class: 'JavadocArchiver', javadocDir: 'thrifty-compiler/build/docs/javadoc/', keepAll: false])
step([$class: 'JavadocArchiver', javadocDir: 'thrifty-schema/build/docs/javadoc/', keepAll: false])
step([$class: 'JavadocArchiver', javadocDir: 'thrifty-java-codegen/build/docs/javadoc/', keepAll: false])
step([$class: 'JavadocArchiver', javadocDir: 'thrifty-runtime/build/docs/javadoc/', keepAll: false])
}}
}
63 changes: 63 additions & 0 deletions dsiprouter_do.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
variable "hostname" {
}

variable "dropletname" {
default="dsiprouter"
}
variable "number_of_servers" {
default=1
}
variable "prefix" {

}
variable "branch" {
default="master"
}
variable "installopt" {
default="-all"
}
variable "repo" {
default="https://github.com/dOpensource/dsiprouter.git"
}

variable "dc" {
default="tor1"
}

provider "digitalocean" {
}


resource "template_file" "userdata_web" {
template = "${file("${path.module}/../templates/dsiprouter.tpl")}"

vars {
userdata_giturl = "${var.repo}"
userdata_branch = "${var.branch}"
userdata_installopt = "${var.installopt}"
userdata_hostname = "${var.hostname}"
}
}

data "digitalocean_ssh_key" "jump" {
name = "Jump"
}

resource "digitalocean_droplet" "dsiprouterDroplet" {
name = "${var.hostname}"
#name = "${var.prefix}-${var.dropletname}-${count.index}"
count = "${var.number_of_servers}"
region = "${var.dc}"
size="1gb"
image="debian-9-x64"
ssh_keys = [ "${data.digitalocean_ssh_key.jump.fingerprint}" ]
user_data = "${template_file.userdata_web.rendered}"
}

output "ip" {
value = "${digitalocean_droplet.dsiprouterDroplet.*.ipv4_address}"
}

output "dsiprouter_gui_password" {
value = "${digitalocean_droplet.dsiprouterDroplet.*.id}"
}

0 comments on commit 2612c83

Please sign in to comment.