https://www.jenkins.io/doc/book/pipeline/multibranch/ Jenkins pipeline 기본 문법 pipeline { agent any // 젠킨스 서버는 pc 여러대를 준비하는 것이 성능이 더 좋다, 사내 망에서 접근이 많기 떄문에 // 실무에서 부서 별로 구분짓는데 사용 stages { // 하나하나 스테이지 마다 작업이 진행 stage('Build') { steps { // 작은 작업단위 echo 'Building..' // echo는 젠킨스 문법 sh 'echo shell build' // 리눅스 문법 } } stage('Test') { steps { echo 'Testing..' } } stage('Deploy') { steps { echo 'Deployi..
2) git과 젠킨스 연동 깃 허브 푸시 -> 젠킨스에 알람이 울림 -> 젠킨스가 나머지 작업을 대행 깃허브가 젠킨스에게 알람을 줄 수 있도록 설정을 해보자깃허브가 젠킨스가 설치된 가상 머신에 접근이 불가하다 - 사설 네트워크 이기 때문에그래서 찾아 올 수 있도록 포트포워딩 작업을 해주어야함 나같은 경우에는 사설 Ip가 192.168.0.105번인데 포트 9105번 포트를 배정 받았다.이렇게 되면 깃허브가 젠킨스에 알람을 전송할때 공인 Ip에 9105번 포트로 전송을하고, 그러면 내 사설 Ip로 접근되어 알람이 울릴수 있게 된다.강사님이 포트포워딩을 해주셨으니 나는 VmWare 포트포워딩만 해주면 된다. [0] 젠킨스 설치된 컴퓨터에 git 설치 yum install git [1] g..
오늘부터 2일간 Jenkins에 대해서 배울 예정이다. 배운 내용에 대해 자세히 작성해보는 시간을 가져보도록 하겠다. Jenkins란 ? GitHub Action을 직접 작성하는 것과 유사 젠킨스는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴 CI(Continuous Integration) 툴 이라고 표현 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해준다. Jenkins Install (1) 자바 설치 dnf install -y java-11-openjdk-devel (2) 레포지토리 추가 rpm --import https://pkg.jenkins.io/redhat/jen..
// 시나리오 //1) 개발자가 playbook.yml(deploy.yml) 및 html 코드를 github에 push2) 작성된 Github Action Flow가 동작 3) EC2가 Github Action Flow를 통해 Ansible을 활용하여 Nginx가 설치 및 실행되고, push된 html 코드가 적용 1) 개발자가 playbook.yml 및 html 코드를 github에 pushplaybook.yml 작성- hosts: ["EC2 IP 주소"] tasks: - name: Update APT package cache apt: update_cache: yes become: yes - name: Install Nginx apt: ..
이번 포스팅에서는 Ansible을 배우면서, 실습했던 내용들에 대해서 자세히 포스팅 해보도록 하겠다. Ansible을 사용하기 위한 기본 세팅앤서블은 SSH를 통해 제어노드와 매니지드 노드가 연결된다.SSH를 통해 연결 되기 때문에 제어노드에 연결하고자 하는 매니지드 노드에 제어노드의 authorized_keys 를 추가해준다.실습을 위해 CentOS 8 가상머신 2대를 준비 ( IP 설정 완료 )➡ 매니지드 노드 : nginx / 제어 노드 : ansible SSH 사용을 위한 환경 구축 1. 제어 노드에서 SSH로 접속한다 : ssh root@[ 매니지드 노드 IP 주소 ]➡ 접속에 성공하면 제어노드에서 매니지드 노드로 바뀐것을 확인 가능하다. 2. 제어노드에서 SSH를 위한 키를 생성한다.생성 전..