summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2020-11-15 20:22:48 -0800
committerGravatar Tom Willemse2020-11-15 20:22:48 -0800
commitc965dd4033ab5b4e698f508eeda044d19ea40047 (patch)
tree948fee10a57df40ca042d68485d71d0489ca5483
parentb31528d593fd4bbeade34f1fc9ae7b0672d7c1fa (diff)
downloadcrafting-interpreters-c965dd4033ab5b4e698f508eeda044d19ea40047.tar.gz
crafting-interpreters-c965dd4033ab5b4e698f508eeda044d19ea40047.zip
Add Jenkinsfile and supporting Dockerfile
-rw-r--r--Dockerfile5
-rw-r--r--Jenkinsfile22
2 files changed, 27 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..6b17df3
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,5 @@
+FROM ubuntu:latest
+
+RUN apt-get update \
+ && apt-get upgrade -y \
+ && apt-get install -y build-essential cmake default-jdk-headless
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..21d4f11
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,22 @@
+pipeline {
+ agent {
+ dockerfile {
+ filename 'Dockerfile.build'
+ label 'crafting-interpreters-build'
+ }
+ }
+
+ stages {
+ stage('Build') {
+ steps {
+ cmakeBuild generator: 'Make',
+ buildDir: 'build',
+ sourceDir: 'src',
+ installation: 'InSearchPath'
+ archiveArtifacts artifacts: 'Lox.jar',
+ fingerprint: false,
+ onlyIfSuccessful: true
+ }
+ }
+ }
+}