⇥ DevOps Tech 🙋🏻♀️
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 을 호출하면 원하는 ..
SSH , 리눅스 서버 비밀번호 없이 접속하기
SSH , 리눅스 서버 비밀번호 없이 접속하기
2022.12.291. SSH 란? SSH는 Secure Shell의 약자, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜 입니다. 기존 원격 접속은 텔넷(Telnet)이라는 방식을 사용했는데, 암호화를 제공하지 않기 때문에 보안상 취약하다는 단점이 존재하여, 암호화하는 SSH 기술이 등장했습니다. 현 시점에서 SSH는 원격 접속을 위한 필수적인 프로토콜로 사용되고 있습니다. Jenkins 나 ansible 그리고 클라우드 서비스에서 제공하는 서버 등은 모두 원격 접속으로 접근하여 사용하기 때문에, 서버 생성시 필수적으로 SSH 보안 과정을 거쳐야 합니다. 2. SSH 의 작동 원리 KEY를 가지고 보안을 구성하는 방식입니다. 사용자와 서버는 각각의 키를 보유하고 있습니다. 이 키를 이용하여 연결 상대를 인증하고 인..
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..
MAC 업데이트 후 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) 에러 발생
MAC 업데이트 후 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) 에러 발생
2022.10.29MAC 업데이트를 하면 xcode 관련 에러가 생기면 개발툴이 정상 실행되지 않는다. (git, gcc, make ...) 아래 명령어로 해결하면 된다. xcode-select --install
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
Iterm2 설정 (oh-my-zsh, zsh plugin, font, color, Theme)
Iterm2 설정 (oh-my-zsh, zsh plugin, font, color, Theme)
2022.10.21이제는 공식처럼 되버린 개발자라면 설정하면 편한 Iterm2 기본 설정에 대해 모아서 정리했다. 자주 설정하다보니, 내 블로그에 모아놓으면 좋을 거 같았다. Iterm2 설치 brew install iterm2 brew를 사용해서 설치해도 되고, 홈페이지에서 설치파일을 다운로드 받아도 된다. https://iterm2.com/ iTerm2 - macOS Terminal Replacement iTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrain iterm2.com oh-my-zsh 맥 Catalina 버전부터 zsh 이 기본으..
Ansible Playbook
Ansible Playbook
2022.10.06Playbook 이란 ? 사용자가 원하는 작업을 미리 작성해 놓은 파일 각각의 동작을 커맨드로 수행했어야 하는데 playbook 을 작성해 놓으면 지정해논 타겟에 해당 내용을 한번에 실행할 수 있음 # 양식 # Yml 파일 작성 --- # playbook 이름 - name: Add an ansible hosts # playbook 이 수행할 host hosts: localhost # 작업 tasks: - name: Add an ansible hosts # task 의 이름 blockinfile: # 작업 지시 path: /etc/ansible/hosts # 작업할 경로 block: | [mygroup] 172.17.0.5 위 내용은 하나의 예시 파일이다. Tasks 에는 수행하고자 하는 동작을 기술하는데..
Ansible 사용 방법
Ansible 사용 방법
2022.09.26Ansible 설치가 완료 되었다면 해당 프로비저닝 툴을 통해 관리할 서버들 역시 등록을 해주어야 한다. 기본 경로는 /etc/ansible/hosts 로 관리가 되지만 사용자가 원한다면 다른 경로에 지정하여 사용할 수 있다. # cat /etc/ansible/hosts [devops] 172.17.0.3 172.17.0.4 devops 라는 그룹에 172.17.0.3 , 172.17.0.4 라는 호스트가 등록되어 있다. ansible은 등록된 호스트를 대상으로 SSH를 통해 접속하기 때문에, 사전에 비밀번호 없이 로그인이 될 수 있도록 작업해줘야 한다. # ssh root@172.17.0.3 The authenticity of host '172.17.0.3 (172.17.0.3)' can't be es..
Ansible 입문
Ansible 입문
2022.09.26Ansible 이란 ? Infrastructure as Code (IaC) 인프라로 코드를 관리하는 툴 - 시스템, 하드웨어 또는 인터페이스의 구성정보를 파일 (스크립트) 를 통해 관리하는 '프로비저닝' - IT 인프라 스트럭쳐, 베어메탈 서버등의 물리장비 및 가상 머신과 관련된 구성 리소스를 관리 - '버전 관리' 를 통한 리소스 관리 (베어메탈서버 : 하드웨어에 어떠한 소프트웨어도 설치되지 않은 서버) 구성 관리 도구 - 다른 IaC 도구에 비교해 가볍고 빠르다. - 특정 문제가 발생했을 때 복구 및 대응하는 작업, 스크립트 화 하여 작업하는데 특화되어 있다. - Terraform 은 인프라의 신규 구축에 많이 사용, Ansible 은 이미 구축된 서비스를 관리하는데 주로 사용된다. - 다른 IaC ..
젠킨스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에 따라 다르게 빌드를 수행..