Jenkins 9

Jenkins Credential 에 저장되어있는 계정 비밀번호 복호화(Decrypt)

Jenkins Credentials 에  저장되어있는계정에 대한 암호를 복호화 하고 싶을 경우 아래와 같이 따라하길 바란다.Jenkins 관리 메뉴 클릭 Credentials 메뉴 클릭 admin/****** 계정 클릭 F12 개발자 도구에서 _.password 찾아 value 값 복사 Script Console 메뉴 클릭 Script Console 화면에서 아래 명령어를 실행println hudson.util.Secret.decrypt("{AQAAABAAAAAQo8lYUq4g7VlK+yJCeA7kP6lM0LFRhF+YHfBXbsCaTDw=}")

CI-CD 2024.04.24

[Jenkins] jenkins pipline script 에서 dir 사용 방법

Jenkins Pipeline 스크립트에서 dir 스텝을 사용하면 특정 디렉토리 내에서 명령을 실행하거나 스크립트 블록을 실행할 수 있습니다. dir 스텝을 사용하여 디렉토리를 변경하려면 다음과 같이 사용할 수 있습니다: pipeline { agent any stages { stage('Example Stage') { steps { script { // 디렉토리 변경 dir(path: 'path/to/your/directory') { // 해당 디렉토리 내에서 명령어 실행 sh 'ls -l' sh 'echo "Hello from the specified directory"' // 다른 명령어 추가 가능 } } } } } } 위의 예제에서는 dir 스텝을 사용하여 'path/to/your/directory..

CI-CD 2023.11.29

[Jenkins] jenkins pipline script 에서 sh ''' 사용 방법

Jenkins Pipeline에서 sh 스텝을 사용하면 쉘 명령어를 실행할 수 있습니다. 이 스텝을 사용하여 여러 명령어를 실행하려면 Groovy의 다중 줄 문자열 문법(''')을 사용합니다. 아래는 Jenkins Pipeline 스크립트에서 sh 스텝과 '''를 사용하는 방법에 대한 예제입니다: pipeline { agent any stages { stage('Example Stage') { steps { script { // 여러 줄 명령어 실행을 위해 ''' 사용 sh ''' echo "Hello, World" ls -l # 다른 명령어 추가 가능 ''' } } } } } 위의 예제에서는 sh 스텝 내부에서 '''로 둘러싼 다중 줄 문자열을 사용하여 여러 명령어를 실행하고 있습니다. 각 명령어는 다..

CI-CD 2023.11.28

[Docker] sonarquebe 를 이용한 정적소스 분석

아래 예시에서는 SonarQube을 Docker Compose를 사용하여 두 개의 서비스로 구성하였습니다. 첫 번째 서비스인 sonarqube는 SonarQube 이미지를 사용하여 애플리케이션을 실행하고, 두 번째 서비스인 sonarqube_db는 PostgreSQL 이미지를 사용하여 데이터베이스를 관리합니다. docker-compose.yml 파일에서는 각 서비스의 설정을 지정하고 있습니다. image는 사용할 Docker 이미지를 지정하고, ports는 호스트와 컨테이너 간의 포트 매핑을 설정합니다. volumes는 데이터를 저장할 볼륨을 설정하고, environment는 환경 변수를 설정합니다. depends_on은 서비스간의 종속성을 설정합니다. 아래 예시를 참고하여 SonarQube을 Docke..

Docker 2023.04.23

[Jenkins] jenkins pipline script 작성 예시

pipline 예시 1 pipeline { agent any stages { stage('Checkout') { steps { // Git 리포지토리 체크아웃 git branch: 'main', url: 'https://github.com/your-repo.git' } } stage('Build') { steps { // 빌드 스텝 수행 sh 'gradle build' } } stage('Docker Build') { steps { // 도커 이미지 빌드 및 푸시 sh 'docker build -t your-docker-image .' sh 'docker push your-docker-image:latest' } } stage('Deploy to Kubernetes') { steps { // Kubern..

Spring 2023.04.21

[Jenkins] docker 이미지를 nexus3 에 배포 시 오류케이스

아래와 같이 Jenkins로 pipline 빌드 시 docker 이미지를 nexus3에 배포하려고 할 때 오류가 계속 발생하여 며칠 해결 끝에 원인을 알아냈다. 아래 오류로 구글링하여도, 최신버전을 깔라고 하느니, docker를 다시 깔라고 하느니 이상한 헛소리에 너무 지쳤었다. 나는 최신버전인 상태인데, 역시 안정적인 버전으로 깔고해야했었나라고 자책도 했지만, 역시 내 성격에 허락되지 않는 일이었다. jenkins에서 docker 이미지를 nexus repository로 배포할 때 겪었던 몇 가지 오류 케이스를 공유하겠다. 1-1. 오류메세지 invalid reference format + docker tag springboot:v10 private-repository:28081/repository/d..

Spring 2023.04.20

[Jenkins] jenkins build 시 ./gradlew: Permission denied 오류 해결

jenkins pipline 으로 gradle build 하는데 아래와 같은 오류가 발생하였다. 자꾸 먼가 하려하면 한방에 되는 법이 없다. 하지만 이런 장애를 겪어봐야 실력이 빨리 늘어나는 법! 오류가 발생하는거에 감사하며, 배울 수 있어서 좋게 생각하자! 아래와 같은 오류가 발생 시 당연히 권한 문제라 스크립트에 권한 부여만 해주면 바로 해결!! [Pipeline] sh + ./gradlew clean build /var/jenkins_home/workspace/deploy-nexus@tmp/durable-a1b9a34c/script.sh: 1: ./gradlew: Permission denied [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] /..

Spring 2023.04.12

[Jenkins] jenkins A problem occurred configuring root project 오류 해결

아래와 같이 jenkins 로 gradle build 시 블라블라 마구 오류를 내뿜는다. 이것저것 바꿔봐도 도저히 알 수가 없다. 하지만 가장 큰 문제를 발견 하였다. springboot 버전이 3 이상일 경우 java 17 버전부터 지원한다고 들었다. 나의 jenkins 는 java jdk 11 버전으로 깔았기 때문에 오류가 발생한거였다. 해결 방법은 2가지가 있다. 방법 1 : JAVA 17 버전으로 업그레이드, 필자는 jenkins 를 docker로 올렸고, 아래와 같이 이미지를 바꿔 실행하였다. 이전 버전 : image: jenkins/jenkins:lts-jdk11 이후 버전 : image: jenkins/jenkins:lts-jdk17 방법 2 : springboot 를 2 버전으로 내려서 하..

Spring 2023.04.10

[Docker] docker-compose 로 Jenkins 설치

오픈 소스로 Jenkins 정도는 어렵지 않게 설치할 수 있다. 설치 방법에는 소스를 받아 tomcat 으로 씌우거나, 직접 리눅스 환경에서 설치하거나 docker를 이용해서 설치하는 방법이 존재 한다. 여기에서는 docker-compose.yml 을 이용하여 손 쉽게 설치하는 방법을 안내하겠다. 설치 환경 : Ubuntu 또는 Linux docker-compose.yml version: '3.1' services: jenkins: image: jenkins/jenkins:latest container_name: jenkins restart: always volumes: - ./jenkins_home:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.s..

Docker 2022.12.20