
ci git pull create a docker image push the image to the registry remove the image from the local 코드 저장과 빌드 cd create a deployment create a service 서비스 작동 yml의 파일과 Dockerfile 내용 yml에선 빌드와 push로 commit 이미지 삭제 Dockerfile에선 tomcat를 9사용중이니 9로 수정 COPY부분도 배포할 파일이름에 맞게 ./hello-world.war 로 수정 jenkins설정 jenkins-ansible로 요청방식으로 지정할것이고 poll SCM으로 변동사항 있을시 알아서 build가 되도록 설정 jenkins 빌드 후 조치 --limit으로 ansible-..

https://daehyuntsory.tistory.com/187 kubernetes + Ansible playBook playbook.yml 준비 ansible에서 사용될 playbook k8s-cicd-deployment-playbook.yml - name: Create pods using deployment hosts: kubernetes # become: true # user: ubuntu tasks: - name: create a deployment command: kubectl apply -f cicd-devops-deployment.y daehyuntsory.tistory.com 위 글에서 ansible과 kubernetes는 성공적으로 연동이되었다 이제 jenkins - ansible - ..

이때가지 만든 image.yml container.yml 을 빌드 생성시 실행하게 설정할것이고 image생성 업로드는 ansible에서 작업 container생성은 docker서버에서 작업되었었다. 위 yml파일을 command에 입력해서 빌드시 알아서 실행이 되도록 설정해봅시다. item 생성 이름 : My-playbook-Project 참조 : My-Ansible-Project 구성- 빌드 후 조치 -Exec command만 수정해줍시다. image생성과 업로드는 2번(ansible서버)에서만 실행해주는 모습 과 container생성해주는 container.yml은 3번(docker서버)에서만 실행해주는 모습이다. 현재 dockerhub에 이미지는 업로드된지 40분이지났다는걸 확인했습니다. docke..

tag 나의 도커 아이디와 프로젝트명을 작성해줍시다 docker login해주기 upload 실행 docker hub사이트 확인 이제 playbook을 이용하여 dockerhub에 push가되도록 해보자. yml 생성 vi create-cicd-devops-image.yml 안의 내용 - hosts: all # become: true tasks: - name: create a docker image with deployed waf file command: docker build -t kdhdaehyun/cicd-project-ansible . args: chdir: /root - name: push the image on Docker Hub command: docker push kdhdaehyun/cic..

docker와 ansible 각각 cmd에 접속해줍시다 172.17.0.2 가 ansible서버입니다. docker서버에서 docker images를 하면 이런 문구가 뜨면 docker를 켜주고 명령어를 다시 입력하세요 systemctl start docker로 잘 작동되는 모습입니다. docker-server에 모든 ps와 image를 삭제해줍시다. 준비가 다 되셨다면 이제 item을 만들러 jenkins홈페이지로 가죠 이름은 My-Ansible-Project로 했으며 이전에 사용했던 My-Docker-Project를 참조하여 생성해줬습니다. 밑의 빌드 후 조치만 수정하겠습니다 기존의 것을 삭제하고 Send build artifacts over SSH를 선택하여 생성해줍니다. SSHServer name..

현재 서버 상태 ansible, docker, jenkins 총 3개의 서버가 존재합니다 두개의 cmd를 열어 jenkins > docker서버 접속 docker 접속. jenkins접속 방법은 ssh를 사용하지 않습니다. 비밀번호는 P@ssw0rd입니다. jenkins서버를 접속한 cmd에서 docker서버로 접속을 합니다. 그럼 jenkins에서 docker를 접속한 cmd와 바로 docker로 접속한 cmd 두개가 만들어졌을겁니다. 이제 jenkins홈페이지에서 system 설정을 해줍시다. jenkins 관리 - system - publish over ssh 이전에 설정했던 docker-server등록한게 보이실겁니다 그밑에 추가를 눌러 밑과같이 작성해줍시다. 그밑의 포트번호는 22번이 맞습니다 ..

PlayBook란? first-playbook.yml을 작성한뒤 ansible-playbook (yml파일명) 으로 작성 block에는 무조건 | 입력되고 그룹을 적어주셔야합니다. 실습 글자 추가하기 yml 생성 vi로 yml파일 작성하기 vi first-playbook.yml --- - name : Add an ansible hosts hosts : localhost tasks : - name: Add an ansible hosts blockinfile: path: /etc/ansible/hosts block : | [mygroup] 172.17.0.5 위와같이 작성해줍니다 아직 5번 ip는없지만 나중에 사용할것이니 만들어줄게요 작성하고 :wq!로 나와줍니다. playbook사용 잘 됬다는 확인문구가 ..

모듈 종류 사이트 https://docs.ansible.com/ansible/2.9/modules/list_of_all_modules.html All modules — Ansible Documentation docs.ansible.com ansible 다운받는방법 만약 ansible을 못찾거나 다운이 안받아져있다면 밑과같은 방법으로 다운받자 $ yum install -y python38 $ pip3 install --upgrade --ignore-installed pip setuptools $ pip3 install ansible pip을 사용하기위해 python을 먼저 받고 pip을 이용하여 ansible를 받아옵니다. ping 모듈 현재 hosts안의 그룹은 하나이고 2개의 ip가 존재합니다. dev..

ssh ansible 접속한 상태에서 키 생성 ssh-keygen 키 저장위치는 기본값으로 하기때문에 입력x 비밀번호도 설정 안했기 때문에 입력x 키 등록하기전에 172.17.0.3으로 접속해보겠습니다. 접속을하니 root뒤 이름이 바뀐게 확인된다. 접속이 성공한것이다 위와같은 ip접속이 키 등록 ssh-copy-id root@172.17.0.4 (현재 ssh) 에서 키를 복사한뒤 등록 password입력할때 P@ssw0rd입력해주면 됩니다. 키등록후 다시 172.17.0.4(현재 ssh)로 접속 해봅시다. 위와같이 접속하니 바로 password입력단계없이 바로 접속이 되는걸 확인할 수 있습니다. 4번은 이제 비밀번호 없이 접속되는걸 확인했으니 이제 3번도 키 등록해줍시다 명령어 -i는 위에서 전글에서 ..

cmd창을 열고 밑과 같이 입력합시다 image 받기 docker pull edowon0623/ansible:no_iptables container등록 docker run --privileged --name ansible-server -itd -p 20022:22 -p 8082:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/docker:no_iptables /usr/sbin/init 8081포트가 이미 사용중이라면 8082로 수정후 실행해줍니다 주의 이미 컨테이너가 생성되어있다면 삭제 해주셔야합니다 docker ps -a 입력 후 방금 실패한 컨테이너가있다면 docker rm (컨테이너 id) stop해줄 필요는 없을겁니다 실패..