CICD(BUILD tool) (9) 썸네일형 리스트형 No Known Hosts file was found at /var/jenkins_home/.ssh/known_hosts. 개발서버에 젠킨스 설치도중 ssh-copy-id 등 ssh명령어가 먹히지 않아서 .ssh파일을 로컬에서 생성 후 서버로 올린 다음 노드연결시 에러가 났다. ssh-keyscan -H 신규노드IP >> /var/jenkins/.ssh/known_hosts 마스터노드 컨테이너에 접속 후에 위의 명령어를 통해 수동으로 known_hosts에 등록해줬다. docker swarm jenkins / slave 설치 및 연동 overlay network 생성 도커 오버레이 네트워크를 생성한다. docker create network -d overlay jenkins Master 컨테이너 생성 Jenkins-master.yml version: "3.8" services: jenkins-master: image: jenkins/jenkins:2.387.1-lts-jdk11 networks: - jenkins ports: - 8080:8080 volumes: - /jenkins_home_volume/jenkins_home:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock extra_hosts: - "gitlab.xxx.com:10.0.0.1" deploy: mode: r.. Jenkinsfile에서 gradle 빌드하기 ( docker 이미지로 ) Jenkinsfile에서 gradle빌드하는 방법은 일반적으로 jenkins서버에 gradle을 설치하고 사용하면 된다. 하지만 다양한 버전으로 빌드하기 위해서는 docker image를 이용하는 것이 좋다. node { stage('Build') { docker.image('gradle:6.9.2-jdk11-alpine').inside{ echo 'gradle build ..' sh 'echo $GRADLE_HOME' sh 'gradle --version' sh 'gradle clean bootJar' } } } 위의 스크립트처럼 docker.image를 이용해서 jenkins서버에 gradle 이미지를 받아서 빌드할 수 있다. 다만, docker를 사용하려면 jenkins서버에 docker가 되어야 .. docker-swarm 이용해서 jenkins / jenkins slave 설치 docker swarm으로 로컬에서 젠킨스를 설치하고 슬레이브를 띄워보려고 한다. jenkins image https://hub.docker.com/r/jenkins/jenkins Docker Hub hub.docker.com jenkins-slave https://hub.docker.com/r/jenkins/ssh-agent Docker Hub hub.docker.com jenkins-master 올리기 jenkins swarm overlay network를 생성한다. $ docker network create -d overlay jenkins-net jenkins-master.yml version: '3.7' services: jenkins-master: image: jenkins/jenkins:lt.. gitlab-runner docker 내부 git연결 시 설정 config.toml [runners.docker] tls_verify = false image = "alpine" privileged = true disable_entrypoint_overwrite = false oom_kill_disable = false disable_cache = false volumes = ["/cache"] shm_size = 0 extra_hosts=["gitlab.pli.com:내부ip"] privileged = true extra_hosts=["domain:내부ip"] docker gitlab ssl(https) 적용 인증서 생성 //폴더 생성 $mkdir -p /var/opt/gitlab/certs cd /var/opt/gitlab/certs // 개인키 생성 $openssl genrsa -out gitlab.key 2048 // CSR 생성 $openssl req -new -key gitlab.key -out gitlab.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you ca.. docker gitlab 설치 & gitlab-runner 연동 Gitlab Runner 는 Gitlab CI/CD와 pipeline에서 Job을 실행시키는 어플리케이션으로 별도로 설치해서 사용할 수 있다. Gitlab docker 설치 (Windows Docker) docker run --detach --name gitlab --hostname gitlab.pli.com --publish 443:443 --publish 80:80 --publish 4422:22 --volume C:\gitlab:/etc/gitlab --volume gitlab-logs:/var/log/gitlab --volume gitlab-data:/var/opt/gitlab gitlab/gitlab-ce 1. volume설정해서 gitlab을 먼저 설치한다. 2. Gitlab root 계정 비.. Jenkins Rest API with JAVA www.jenkins.io/doc/book/using/remote-access-api/ Remote Access API Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software www.jenkins.io jenkins 에서는 Rest API를 제공한다. 설치된 jenkins서버에 /api 를 붙여서 호출하면 document를 확인할 수 있다. github.com/cdancy/jenkins-rest cdancy/jenkins-rest Java client, built on top of jclouds, for working .. 이전 1 2 다음