⇥ DevOps Tech 🙋🏻♀️/✏️ Jenkins
Jenkins 에서 빌드한 artifact 를 Ansible 로 넘기는 방법 [nginx file hosting]
Jenkins 에서 빌드한 artifact 를 Ansible 로 넘기는 방법 [nginx file hosting]
2023.10.16이전에 젠킨스에서 git clone, build 를 하는 방법에 대해 포스팅했었다. 2023.10.11 - [✏️ Jenkins] - Jenkins Pipeline 으로 git clone , build 수행하기 Jenkins Pipeline 으로 git clone , build 수행하기 Jenkins Pipeline 으로 CI/CD 를 구축할 때 가장 기본적으로 repository 에서 git 을 clone 하여 build 하는 과정은 반드시 존재한다. 이 과정이 CI (Continuous Integration) 으로 지속적인 통합이라고 할 수 있다. 즉 jjoyling.tistory.com 여기서 빌드된 아티팩트는 젠킨스의 workspace 에 존재하게 될 뿐이고, 배포 시 어떻게 사용해야 할지 알아보..
AWS CodeBuild Plugin 사용하여 AWS 연동하기
AWS CodeBuild Plugin 사용하여 AWS 연동하기
2023.10.12다양한 상황에 대응하기 위해 여러가지 복잡한 구조가 필요한 상황이 있을 수 있다. 예를 들어 젠킨스에서 빌드하고 Tag 값을 CodeBuild 에 전달하기 위한 상황에서 AWS 에 권한이 없다거나 하는 경우가 있다. 이러한 상황을 해결하기 위해 Jenkins 에서 CodeBuild 를 호출하는 방법을 정리했다. 또한 원하는 변수 값을 같이 전달한다. Jenkins 에서 AWS CodeBuild 를 호출하기 위해선 Access Key 와 Secret Key 가 필요하다. AWS 계정을 식별할 수 있어야 해당 계정 안에 있는 CodeBuild 를 접근할 수 있기 때문이다. 또한 외부에서 아무나 접근이 가능하면 비용적인 문제가 있을 수 있기 때문에 해당 key는 엄격히 관리 되어야 한다. https://do..
Jenkins Pipeline 으로 git clone , build 수행하기
Jenkins Pipeline 으로 git clone , build 수행하기
2023.10.11Jenkins Pipeline 으로 CI/CD 를 구축할 때 가장 기본적으로 repository 에서 git 을 clone 하여 build 하는 과정은 반드시 존재한다. 이 과정이 CI (Continuous Integration) 으로 지속적인 통합이라고 할 수 있다. 즉 개발자는 소스코드 개발에만 집중하며 변경사항이 공유 레파지토리에 지속적으로 통합하는 것을 의미한다. 공유 레파지토리에 수정사항이 발생하면 파이프라인은 자동으로 빌드 후 배포까지 수행할 수 있어 개발자는 온전히 소스 코드만 개발할 수 있다는 장점이 있다. 1. Git Clone 그럼 먼저 공유 레파지토리에서 소스를 가져오는 stage 가 필요하다. 공유 저장소가 PUBLIC 권한이라면 상관없겠지만 대부분은 PRIVATE 저장소로 구성되어..
Bitbucket 과 AWS CodeCommit Jenkins를 이용한 Mirroring
Bitbucket 과 AWS CodeCommit Jenkins를 이용한 Mirroring
2023.10.10bitbucket 이전 버전에서는 AWS CodeCommit 과의 Mirroring 을 Plugin 을 통해서 지원했었다. 기존에는 v6.3.4 를 사용했었고 repo 설정 > 갈고리 > Mirror Hook 으로 설정이 가능했다. 해당 설정에서 mirroring 할 URL, Credential 을 이용하면 bitbucket 과 AWS 의 CodeCommit 미러링이 손쉽게 가능했다. https://marketplace.atlassian.com/apps/1211351/repository-mirror-plugin-for-bitbucket/version-history Repository Mirror Plugin for Bitbucket - Version history Browse the top apps, a..
Jenkins 와 Ansible Tower (AWX) 연동, API 사용
Jenkins 와 Ansible Tower (AWX) 연동, API 사용
2023.10.10jenkins Version : 2.419 Ansible Tower : 17.1.0 (Docker Version) Jenkins Plugin Ansible Tower Plugin https://plugins.jenkins.io/ansible-tower/dependencies/ CI / CD 파이프라인을 구성하는데 필요한 jenkins 와 Ansible 을 연동하는 과정이다. 보통 jenkins 에서 빌드 및 아티팩트 전달까지 진행한 후 Ansible 을 호출하면서 정보를 넘겨주게 되는데, 이 과정에서 jenkins - Ansible Tower (이하 AWX) 가 연동되어 있어야 한다. Ansible Tower 는 host , group value 를 가지고 있기 때문에 ansible 을 호출하면 원하는 ..
BACKUPSET 을 이용한 JENKINS 복구 방법
BACKUPSET 을 이용한 JENKINS 복구 방법
2022.12.26기존 JENKINS 가 어떠한 이유로 먹통이 되거나, 이전 시점으로 돌아가고 싶은 경우가 생길 수 있다. 만약 BACKUPSET 을 가지고 있다면, 해당 BACKUP본을 가지고 복구하는 방법에 대해 정리하려고 한다. 1. 기존 파일 삭제 복구하기 전에 해당 장비에 남아있는 기존의 젠킨스 관련 파일을 모두 삭제해주자. default 값으로 별도의 수정을 하지 않았다면, 아래 포스팅의 내용을 통해 정리할 수 있다. https://jjoyling.tistory.com/115 Jenkins 완전 삭제 방법 1. Jenkins 종료 systemctl stop jenkins.service 2. apt package 관리자로 삭제 apt remove jenkins 3. 관련 디렉토리 삭제 rm -rf /var/lib..
Jenkins 완전 삭제 방법
Jenkins 완전 삭제 방법
2022.10.281. Jenkins 종료 systemctl stop jenkins.service 2. apt package 관리자로 삭제 apt remove jenkins 3. 관련 디렉토리 삭제 rm -rf /var/lib/jenkins rm /etc/init.d/jenkins rm -rf /var/log/jenkins
젠킨스2: 슬레이브, 노드 등록 방법
젠킨스2: 슬레이브, 노드 등록 방법
2022.09.20젠킨스 관리 노드 관리 신규 노드 Permanent Agent 를 클릭해서 OK Remote root directory -> Slave Node 의 Working Directory 경로 입력, slave.jar 등의 파일이 생성 Launch method -> Slave Node 에 접근하는 방법 설정 (SSH) -> Host 와 Credentials 설정 Save 클릭하여 Slave 노드 생성 Credentials 는 마스터 노드에서 슬레이브 노드로 ssh 접근이 가능하도록 private - public Key 설정 과정에서 private 키를 입력한다. 마스터 노드에서 슬레이브 노드로 접근 하기 위한 sshd_config 설정 /etc/ssh/sshd_config PasswordAuthenticatio..
젠킨스2: 마스터, 노드, 에이전트, 엑시큐터
젠킨스2: 마스터, 노드, 에이전트, 엑시큐터
2022.09.16마스터 - 젠킨스 인스턴스 제어의 중심이 되는 역할 - 모든 설정과 옵션, 잡에 대해 권한이 있다. - 다른 시스템이 정의되지 않았다면 잡을 실행하는 기본 장소, 하지만 무거운 작업을 수행하는데 적합하지 않음 - 모든 데이터, 환경 설정, 작업에 대해 접근 권한을 가지고 있어서 보안에 위협이 될 수 있다. - 마스터가 끊김 없이 작업을 관리해야 하는데, 과부하로 인해 중단되는 일이 발생하면 안된다. 노드 - 젠킨스 잡을 실행할 수 있는 시스템을 의미 - 마스터, 에이전트가 포함되며 도커와 같은 컨테이너를 의미할 때도 있다. 에이전트 - 구 젠킨스의 슬레이브, 즉 마스터가 아닌 시스템을 의미 - 에이전트는 마스터에 의해 관리되고 필요에 의해 할당되어 각 잡의 수행을 담당 - OS에 따라 다르게 빌드를 수행..