Skip to content

Commit

Permalink
Merge pull request istresearch#1 from istresearch/ci_updates
Browse files Browse the repository at this point in the history
CI Updates
  • Loading branch information
brascher committed Jan 26, 2016
2 parents a0ce14b + 4b13089 commit 95b6431
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 1 deletion.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# vim temp files
*.swp
*.*~
*~

7 changes: 6 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
FROM jenkins
USER root

RUN apt-get update && apt-get install -y build-essential python-dev libxml2-dev libxslt-dev libffi-dev libssl-dev python-pip && rm -rf /var/lib/apt/lists/*
RUN pip install pip2pi
RUN pip install pip2pi ansible==2.0

COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/ref/plugins.txt

USER jenkins
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,18 @@
# jenkins-ist
Github repo for automated builds of a custom version of Jenkins on docker hub.

## Installation
1. Ensure /data/jenkins/ directory is created and has the correct permissions.
- If you are using vagrant, the directory should be owned by vagrant. If you are logged in to an Ubuntu EC2 instance, then the ubuntu user should own the directory.
- If it needs to be created:
1. Run *sudo mkdir /data*
2. Run *sudo mkdir /data/jenkins*
3. Run *sudo chown 1000 /data/jenkins*
2. Build the Jenkins docker image that you want to run in a container. Ensure you are in the /jenkins directory with the Dockerfile and run *docker build -t ist/jenkins:[Version] .*
3. To run the container: *docker run -d --name jenkins[Version] --net=host -p 8080:8080 -p 5000:5000 -v /data/jenkins:/var/jenkins_home -u 1000 -t ist/jenkins:[Version]*
- *-d* to run in the background
- *--net=host* so the container shares the host network stack and has access to the /etc/hosts for network communication
- *-p 8080:8080* so the 8080 port in the container receives all requests to port 8080 on the host. Jenkins runs on Tomcat, which uses port 8080 as the default
- *-p 5000:5000* required to attach slave servers; port 50000 is used to communicate between master and slaves
- *-v /data/jenkins:/var/jenkins_home* to bind host directory /data/jenkins to the container directory /var/jennkins_home
- *-u 1000* jenkins user uid is 1000, same as ubuntu and vagrant uid's are 1000
21 changes: 21 additions & 0 deletions plugins.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
scm-api:1.0
token-macro:1.12.1
git-client:1.19.2
git:2.4.1
plain-credentials:1.1
github-api:1.71
github:1.16.0
gradle:1.24
maven-plugin:2.12.1
join:1.6
copyartifact:1.37
ansible:0.4
ssh-agent:1.9
envinject:1.92.1
chromedriver:1.2
selenium:2.4.1
seleniumhtmlreport:1.0
node-iterator-api:1.5
ec2:1.29
slack:1.8.1
cucumber-slack-notifier:0.7.1

0 comments on commit 95b6431

Please sign in to comment.