
Java Runtime Environment 기반 동작
플러그인을 통한 자동화 작업
이번 글에서는 설치까지만 하고, 다음 장부터 파이프라인을 구성해 보겠따!
Amazon Linux
sudo yum install docker -y
sudo service docker start
sudo usermod -aG docker ec2-user
Ubuntu
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $user
Amazon Linux
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Ubuntu
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose.yaml
version: '3.8'
services:
jenkins:
build: .
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
restart: always
volumes:
jenkins_home: {}
Dockerfile
FROM jenkins/jenkins:lts
USER root
RUN apt-get update && apt-get install -y docker.io awscli
Run groupadd docker || true && usermod -aG docker jenkins || true
Run if [ -e /var/run/docker.sock ]; then chown jenkins:jenkins /var/run/docker.sock; fi
USER jenkins
Build 및 docker-compose 실행
docker-compose up --build -d
http://PrivateIP:8080
http://localhost:8080
ssh -i pem키 \
-o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-id %h --region ap-northeast-2' \
-L 로컬 포트 지정:jenkins ec2 ip:8080 \
ec2-user@i-012346a502de92e4a(jenkins ec2 id)
# 예시
ssh -i dev-ec2-bastion-keypair.pem \
-o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-id %h --region ap-northeast-2' \
-L 8080:10.2.201.12:8080 \
ec2-user@i-012346a502de92e4a(jenkins ec2 id)
- gitlab 설치
User Name : GitLab의 로그인 ID
Password : gitlab의 access token
ID : 젠킨스에서 식별할 이름