From fa2710c4768061a354341e0699156c693ad6cde9 Mon Sep 17 00:00:00 2001 From: Will Wang Date: Mon, 23 Mar 2020 16:49:00 -0700 Subject: [PATCH] allow jenkins to build sphinx --- Jenkinsfile | 10 ++++++++-- berkeleytime/Dockerfile | 3 ++- conf.py | 6 ++---- .../manifests/infrastructure/jenkins-deploy.yaml | 5 ++++- .../infrastructure/jenkins_dockerfile/Dockerfile | 4 ++-- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1707ccaee..ee8b43b18 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -162,12 +162,18 @@ kubectl apply -f $BACKEND_DEPLOY_PROD_FILEPATH''' branch "master" anyOf { changeset "berkeleytime/**" - changeset "frontend/**" + changeset "Jenkinsfile" } } steps { git(url: 'https://github.com/asuc-octo/berkeleytime', branch: env.BRANCH_NAME, credentialsId: 'GitHubAcc') - sh "sphinx-build -M help . /var/jenkins_home/userContent/sphinx" + sh '''version=$(git rev-parse --short HEAD) +containerID=$(docker run -d -e ENVIRONMENT_NAME=LOCALHOST --entrypoint sleep ${BACKEND_STAGE_GCR_PATH}:$version 1000) +docker cp /var/jenkins_home/workspace/berkeleytime_master $containerID:/bt +docker exec $containerID sphinx-build -b html /bt /sphinxout +rm -rf /var/jenkins_home/userContent/sphinx +docker cp $containerID:/sphinxout /var/jenkins_home/userContent/sphinx +docker kill $containerID''' } } stage('Update-Data-Fetch-Image-Version') { diff --git a/berkeleytime/Dockerfile b/berkeleytime/Dockerfile index 45ebeed46..b53c6b0e9 100644 --- a/berkeleytime/Dockerfile +++ b/berkeleytime/Dockerfile @@ -1,9 +1,10 @@ FROM ubuntu:18.04 +ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update RUN apt-get install -y python2.7 python-pip build-essential libssl-dev \ libffi-dev libxml2-dev libxslt1-dev zlib1g-dev \ - libjpeg-dev libncurses5-dev + libjpeg-dev libncurses5-dev python-sphinx RUN pip install --upgrade pip RUN mkdir berkeleytime diff --git a/conf.py b/conf.py index 1046447c8..23132ec53 100644 --- a/conf.py +++ b/conf.py @@ -12,11 +12,9 @@ import os import sys -sys.path.insert(0, os.path.abspath('../berkeleytime/berkeleytime')) - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'berkeleytime.settings') import django -django.setup() +sys.path.insert(0, os.path.abspath('berkeleytime')) +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "berkeleytime.settings") # -- Project information ----------------------------------------------------- diff --git a/kubernetes/manifests/infrastructure/jenkins-deploy.yaml b/kubernetes/manifests/infrastructure/jenkins-deploy.yaml index aa441fdba..28465ab6e 100644 --- a/kubernetes/manifests/infrastructure/jenkins-deploy.yaml +++ b/kubernetes/manifests/infrastructure/jenkins-deploy.yaml @@ -26,12 +26,15 @@ spec: emptyDir: {} containers: - name: jenkins-dep - image: tsaianson/dockerjenkinskubectlgcsdkbase:latest + image: hantaowang/btjenkins:latest + imagePullPolicy: Always ports: - containerPort: 8080 env: - name: DOCKER_HOST value: tcp://localhost:2375 + - name: JAVA_OPTS + value: -Dhudson.model.DirectoryBrowserSupport.CSP= volumeMounts: - mountPath: /var/jenkins_home name: jenkins-pv-storage diff --git a/kubernetes/manifests/infrastructure/jenkins_dockerfile/Dockerfile b/kubernetes/manifests/infrastructure/jenkins_dockerfile/Dockerfile index d2c9e7da7..150399d1d 100644 --- a/kubernetes/manifests/infrastructure/jenkins_dockerfile/Dockerfile +++ b/kubernetes/manifests/infrastructure/jenkins_dockerfile/Dockerfile @@ -21,9 +21,9 @@ echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/s apt-get update && \ apt-get install -y kubectl RUN apt-get -y install kubectl -RUN apt-get install python3-sphinx +RUN apt-get -y install python-sphinx RUN curl https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz > /tmp/google-cloud-sdk.tar.gz RUN mkdir -p /usr/local/gcloud \ && tar -C /usr/local/gcloud -xvf /tmp/google-cloud-sdk.tar.gz \ && /usr/local/gcloud/google-cloud-sdk/install.sh --quiet -ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin \ No newline at end of file +ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin