========================================================== EXECUTE ON BOTH THE JENKINS & LINUX SERVER
Use in user_data when launching ec2-servers. It updates servers > Install docker > Add ec2-user to docker group > Enable & Starts docker.
sudo yum update -y sudo yum install docker -y sudo usermod -aG docker ec2-user sudo chmod 666 /var/run/docker.sock sudo systemctl enable docker sudo systemctl start docker
#Installing Jenkins: docker run -u 0 --privileged --name jenkins -p 8080:8080 -p 50000:50000 -it -d -v /home/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker jenkins/jenkins:latest
docker ps docker logs -f <container_ID> #run this to get admin login to jenkins server. docker exec -it <container_ID> /bin/bash #Enter into jenkins server container and generate key pairs.
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub #copy and paste on linux-server ~/.ssh/authorized_keys file.
============================================================ CREATE DEPLOYMENT FILE (deploy.sh) AND PUSH TO GIT REPO.
Install maven
DOCKER_IMAGE=/:
docker build -t $DOCKER_IMAGE .
echo $PASS | docker login -u $USER --password-stdin
docker push $DOCKER_IMAGE
ssh -o StrictHostKeyChecking=no ec2-user@${server_ip}
scp deploy.sh ec2-user@${server_ip}:~/
ssh ec2-user@${server_ip} "chmod +x deploy.sh"