-
Notifications
You must be signed in to change notification settings - Fork 891
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CI] Enable basic setup with Jenkins over Docker. (#13)
* [CI] Update Jenkis file with basic setup * [CI] Enable Dockerfile with Jenkins
- Loading branch information
Showing
2 changed files
with
58 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
ARG NODE_VERSION=10.23.1 | ||
FROM node:${NODE_VERSION} AS base | ||
|
||
ENV HOME '.' | ||
RUN apt-get update && \ | ||
apt-get -y install xvfb gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 \ | ||
libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 \ | ||
libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 \ | ||
libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 \ | ||
libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget openjdk-8-jre && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \ | ||
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \ | ||
&& apt-get update \ | ||
&& apt-get install -y rsync jq bsdtar google-chrome-stable \ | ||
--no-install-recommends \ | ||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* | ||
|
||
RUN LATEST_VAULT_RELEASE=$(curl -s https://api.github.com/repos/hashicorp/vault/tags | jq --raw-output .[0].name[1:]) \ | ||
&& curl -L https://releases.hashicorp.com/vault/${LATEST_VAULT_RELEASE}/vault_${LATEST_VAULT_RELEASE}_linux_amd64.zip -o vault.zip \ | ||
&& unzip vault.zip \ | ||
&& rm vault.zip \ | ||
&& chmod +x vault \ | ||
&& mv vault /usr/local/bin/vault | ||
|
||
RUN apt-get update && apt-get install -y \ | ||
python-pip | ||
RUN pip install awscli | ||
|
||
RUN groupadd -r kibana && useradd -r -g kibana kibana && mkdir /home/kibana && chown kibana:kibana /home/kibana | ||
|
||
USER kibana |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,31 @@ | ||
node { | ||
label 'website' | ||
def scmVars = checkout scm | ||
sh "env" | ||
echo "BRANCH: ${scmVars.GIT_BRANCH}, COMMIT: ${scmVars.GIT_COMMIT}" | ||
stage('bootstrap') { | ||
sh 'yarn kbn bootstrap' | ||
def imageName = "test-image:${env.BUILD_ID}" | ||
def testImage | ||
stage('Build container image') { | ||
sh 'ls -l' | ||
testImage = docker.build imageName | ||
} | ||
stage('unit tests') { | ||
sh 'yarn test:jest' | ||
} | ||
stage('integration tests') { | ||
sh 'yarn test:jest_integration' | ||
sh 'yarn test:mocha' | ||
} | ||
stage('build'){ | ||
sh 'yarn build --oss --skip-os-packages' | ||
testImage.inside { | ||
try { | ||
stage('bootstrap') { | ||
sh 'yarn kbn bootstrap' | ||
} | ||
stage('unit tests') { | ||
sh 'yarn test:jest -u --ci --verbose --maxWorkers=5' | ||
} | ||
stage('integration tests') { | ||
sh 'yarn test:jest_integration -u --ci' | ||
sh 'yarn test:mocha' | ||
} | ||
} catch (e) { | ||
echo 'This will run only if failed' | ||
currentBuild.result = 'FAILURE' | ||
// Since we're catching the exception in order to report on it, | ||
// we need to re-throw it, to ensure that the build is marked as failed | ||
throw e | ||
} | ||
} | ||
} |