본문 바로가기

DevOps

(20)
Sonarqube - Jenkins 연동 - 2. Sonarqube / Jenkins 세팅 소나큐브에서 로그인을 해줍니다. 초기 설정은 admin/admin 입니다. 로그인 후 Administration 메뉴에서 아래 메뉴를 찾아 Webhooks를 들어갑니다. Create를 해주시고 아래와 같이 입력해주세요 이렇게 하면 소나큐브에서 세팅은 끝납니다. 젠킨스로 들어가서 아래 플러그인을 설치해줍니다. 그 후, 시스템 설정에서 Server URL에 소나큐브 URL을 입력해주시면 끝납니다. Spring 공화국 답게 Spring 기준으로 파이프라인을 보여드리면 아래와 같습니다. stage('Sonarqube Analysis') { when { expression { return env.gitcloneResult ==~ /(?i)(Y|YES|T|TRUE|ON|RUN)/ } } steps { script ..
Sonarqube - Jenkins 연동 - 1. Sonarqube 설치 Jenkins에서 Sonarqube 정적검사를 하고, 퀄리티가 낮으면 배포가 되지 않도록 파이프라인에 넣는 부분을 작성하려합니다. 기존에 Ansible로 Sonarqube를 설치하는 글을 참고하셔서 설치하셔도 무방합니다. 저는 자바 1.8을 기준으로 세팅 할 예정이라 Sonarqube 7.2 버전을 사용하겠습니다. 기본 세팅 sudo amazon-linux-extras install -y epel sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime date sudo yum install -y python3 sudo python3 -m pip install --upgrade pip sudo python3 -m pip..
Ansible - 4. Sonarqube 설치하기 먼저 제가 설치한 방법에 대해서 전체 플로우를 설명해드리도록 하겠습니다. 소나큐브 7.2까지는 Java1.8로 가능하지만 이후에는 더 높은 자바버전이 필요합니다. 저는 Jenkins 서버등 Java1.8을 사용하고 있기 때문에 해당 버전을 사용하기로 하였으며, 따라서 variable.yaml에 해당 url을 적어놓고 다운받아 설치하였습니다. 소나큐브를 사용하기 위한 DB가 필요합니다. 하지만 많이 사용하지는 않기 때문에 로컬에 설치하여 구동하기로 했고, 따라서 mysql을 설치하는 코드도 같이 작성되어있습니다. mysql을 처음 세팅하게 되면 임시 패스워드가 로그에 저장되게 되는데, 이를 따로 명령어로 뽑아 ansible의 변수로 사용해보려 했으나, 잘 되지 않아 python으로 해당 패스워드를 파일로 ..
Ansible - 3. 서버 기본 세팅 & CICD 저는 아래와 같이 구성하여 EC2서버들에 대해 기본세팅을 구성합니다. 1. ansible.cfg [defaults] host_key_checking = False command_warnings = False 2. inventory.ini [node:vars] ansible_ssh_private_key_file=/var/lib/jenkins/key/abcd.pem ansible_user=ec2-user [node] 10.0.1.150 10.0.1.155 3. playbook.yaml 필요한 패키지가 더 있다면, 맨 아래의 telnet을 설치하는 부분에 이어서 작성하여 사용하시면 됩니다. --- - name: set up hosts: node become_user: root become: yes tasks:..
Ansible - 2. 구성요소 Ansible은 4가지 파일로 구성하여 사용한다고 볼 수 있습니다. (저는 그렇습니다..ㅎㅎ) 1. ansible.cfg config 파일 입니다. docs.ansible.com/ansible/latest/reference_appendices/config.html Ansible Configuration Settings — Ansible Documentation Default:[‘bud-frogs’, ‘bunny’, ‘cheese’, ‘daemon’, ‘default’, ‘dragon’, ‘elephant-in-snake’, ‘elephant’, ‘eyes’, ‘hellokitty’, ‘kitty’, ‘luke-koala’, ‘meow’, ‘milk’, ‘moofasa’, ‘moose’, ‘ren docs..
Ansible - 1. Intro Ansible이 무엇인지 알아보도록 하겠습니다. 워낙 정리가 잘 되어있는 글들이 많아서, 링크 먼저 달아놓도록 하겠습니다. blog.naver.com/alice_k106/221333208746 143. [Ansible] Ansible (앤서블) 개념, 사용 환경 구성, 기초 사용법 정리 이번 포스트에서는 Ansible(이하 앤서블)의 환경 구성, 기초 사용법에 대해서 다룬다. 1. 들어가기 전. 앤... blog.naver.com www.slideshare.net/ienvyou/ansible-132635149 [오픈소스컨설팅] Ansible을 활용한 운영 자동화 교육 Ansible 소개, 구성요소, 설치, 환경 설정과 패키지/패스워드 관리에 대한 실습을 진행하는 교육 자료 공유합니다. 오픈스택 기반 환경..
JIRA & API GW를 통해 Jenkins 배포 승인체계 구성하기 - 5. Jenkins 세팅 마지막입니다. Job의 Script는 아래와 같습니다. 아래에서 맨 위에 있는 값들만 세팅하셔서 사용하시면 됩니다. (issue_id는 빈값으로 냅두시면 됩니다.) def API_KEY = "" def AGW_URL = "" def JIRA_URL = "" def issue_id = "" pipeline { environment { PATH = "$PATH:/usr/local/bin/" } agent any stages { stage('Approval') { steps { script { try { cmd = "curl -X POST -H \"X-API-KEY: ${API_KEY}\" -H \"BuildInfo: ${env.JOB_NAME}/${env.BUILD_NUMBER}\" -H \"Content-..
JIRA & API GW를 통해 Jenkins 배포 승인체계 구성하기 - 4. Lambda 세팅 먼저 라이브러리로 python request 라이브러리가 필요합니다. 특정 라이브러리만 다운받아서 Lambda Layer에 올려야하기 때문에 아래와 같이 수행해주세요. python3 -m pip install --target "path" requests 혹은 아래 zip을 받아서 바로 Python3.7 Layer에 올리셔도 무방합니다. 레이어 구성방법은 https://aws-diary.tistory.com/100?category=753099 글에서도 나와있으니 참고하시면 됩니다. 어렵지 않아서 사실 그냥 진행하셔도 무방할겁니다. 지라 이슈를 만드는 람다 소스코드는 아래와 같습니다. {} 안에 있는 값들은 반드시 변경하여서 사용하시기 바랍니다. description의 값을 event에서 받아서 던지시면, ..