-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
42 lines (34 loc) · 1.78 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
This repository represents a demonstration of a potential CI/CD pipeline built around Jenkins, Ansible, Rocketchat, Azure,
Docker, Kubernetes, Maven and Wildfly. Install git, docker, and docker-compose to enable your machine, The companion repository is located
at http://github.com/dsutherland1492/jenkinsframeworkapp
To enable your machine, run the following as root
setenforce 0
yum install git docker epel-release -y
yum install python-pip -y
pip install --upgrade pip
pip install docker-compose
groupadd docker
usermod -aG docker $USER
systemctl enable docker
systemctl start docker
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
To start the application run the following commands
docker-compose up -d mongo
docker-compose up -d mongo-init-replica (only required on first run)
docker-compose up -d rocketchat
docker-compose up -d vault
docker-compose up -d consul
docker-compose up -d jenkins
After deployment finishes, you will need to shell into the hashicorp vault container, initialize vault and add secrets associated with
you Azure api keys.
docker exec -it vault.server sh
vault operator init
vault operator unseal (run this command 3x using the unseal keys printed out during initialization)
vault login (us the root token printed out during initialization)
vault write secret/admin AZURE_CLIENT=xxxxxxxxx AZURE_SECRET=xxxxxxxxxxxxxxx AZURE_SUBSCRIPTION=xxxxxxxxxxxxxxxxx AZURE_TENANT=xxxxxxxxxxxxx
exit
Next, login to rocketchat, create a user account, then login to jenkins, update the Rocketchat configuration to match your credentials and
add the vault root token credential to the vault configuration. For automatic builds, update your git repository fork to publish webhooks
to your Jenkins instance.
Jenkins - http://<ipofhost>
Rocketchat - http://<ipofhost>:3000