DevOps

DevOps

    Docker Container에서 프로세스 백그라운드 실행

    1. vi start.sh 생성 #!/usr/bin/env bash nohup /bin/bash -c “/usr/bin/dockerd 1>/dev/null&2>/dev/null &” 2. Dockerfile CMD /home/start.sh

    Jenkins Github Webhook 연동

    Jenkins Github Webhook 연동

    github-webhook 방법 보다는 token을 이용한 generic-webhook-tigger를 추천한다. 이유는 webhook 걸려는 git 프로젝트가 하나 이상의 젠킨스 프로젝트에 설정되있을 경우 모두 webhook이 걸려버린다. 가령 나는 젠킨스의 A 프로젝트만 webhook 걸려고 하는데 B 프로젝트에서도 같은 git 프로젝트가 설정되있으면 A, B모두 webhook이 걸린다. 따라서 내가 원하는 젠킨스 프로젝트만 webhook을 걸려면 generic-webhook-trigger를 이용하면 된다. 1. Github 설정 Github 우측 상단 아이콘을 클릭하고 Settings 클릭 좌측 메뉴에서 Development settings -> Personal access tokens -> Gene..

    jenkins Warning: A secret was passed to “sh” using Groovy String interpolation..

    2.249.2 버전 업데이트 이후 jenkins 공통 라이브러리에서 사용하고 있는 sh, bat 코드에서 아래와 같은 경고 문구가 발생했다. Warning: A secret was passed to “sh” using Groovy String interpolation, which is insecure 내용인 즉슨 sh 코드에서 큰따옴표로 묶은 구문이 SQL Injection에 취약하다는 내용이 있었고(https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#string-interpolation) 작은따옴표로 바꿔줘야 한다는 것이었다. 근데 단순히 큰따옴표에서 작은따옴표로 바꾸면 명령어에 변수 주입된 부분이 제대로 동작하지 않는다. 구글링과 삽질을 통해서 해결했는데 ..

    Jenkins java.io.NotserializableException: groovy.lang.IntRange

    젠킨스에서 for loop 사용시 for (idx in 0..max)

    Jenkins에서 배치파일 리턴받기(커맨드 제거)

    script{ def response = bat( returnStdout: true, script: """ type C:\\somefile.txt """ ).trim(); def responseParsed = response.readLines().drop(1).join(",") } - 배치파일을 실행한 후 리턴 받을때 커맨드라인까지 모두 리턴값으로 들어옴 - 첫번째 커맨드 라인 제거 후 리턴 받는다

    Ansible ant heap space 메모리 세팅

    원인 : ansible에서 windows 배포시 아래와 같은 에러 발생 Error occured during initialization of VM Cound not reserve enough space for object heap 해결 - name: Set an environment variable for users win_environment: state: present name: ANT_OPTS value: -Xms256m -Xms512m level: user - name: Execute ant commands win_shell: ant deploy.sh args: chdir: '{{ current.batch.path }}' executable: cmd.exe

    Docker swarm으로 awx cluster 환경 구성

    1. 목적 : vm기반 여러 docker host를 단일 docker host로 구성하고 awx task instance를 분산시키기 위함 2. cluster 생성 - Manager: 10.10.10.101 (node1) - Worker : 10.10.10.102 (node2) 3. Docker swarm init docker swarm init --advertise-addr 10.10.10.101 4. docker swarm join # 3번에서 생성된 명령어로 Worker 노드에서 명령어 실행 docker swarm join --token xxxxx-x-xxxxxxx.... 10.10.10.101:2377 5. docker node list 보기 $ docker node ls 6. /etc/tower..