[컴] GoCD 에서 gradle build

 gocd에서 gradle build 하기 / ci/cd

GoCD 에서 gradle build

Releases page에서 jar을 download 할 수 있다. 이 jar을 $GO_SERVER_HOME/plugins/external 에 copy 해 넣고, 서버를 restart 하면 된다.

GoCD agent 에 JDK 설치

위의 plugin 을 설치하면 그냥 될 것이라 봤는데, 여전히 JAVA_HOME 설정이 필요하다. 즉, jdk 를 설치해야 한다. 그럴거면, 굳이 저 gradle plugin 을 쓸 필요가 있나 싶긴 하다.

여하튼 그래서 see also 1. 만드는 container 에서는 agent 가 jdk를 가지고 있지 않다. 그래서 아래처럼 Dockerfile 을 만들고, 기존 image 대신에 아래 Dockerfile 로 build 한 이미지를 쓰자.

FROM gocd/gocd-agent-alpine-3.14:v21.3.0
LABEL maintainer "i5on9i <gaedduck@duck.go>"

USER root
RUN  apk update \
  && apk upgrade \
  && apk add ca-certificates \
  && update-ca-certificates \
  && apk add --update coreutils && rm -rf /var/cache/apk/* \ 
  && apk add --update openjdk11 tzdata curl unzip bash \
  && apk add --no-cache nss \
  && rm -rf /var/cache/apk/*

ENTRYPOINT ["/docker-entrypoint.sh"]

USER go

compose.yml을 아래처럼 변경하고, docker compose up --build 을 하면 된다.

# compose.yml

version: "3"
services:
  server:
    container_name: gocd-server
    hostname: gocdserver
    ports:
      - 8153:8153
    image: gocd/gocd-server:v21.3.0
    volumes:
      - ./godata:/godata
    environment:
      - MSG_TIME=0
  agent:
    build: .
    # 이부분 대신에 build
    # image: gocd/gocd-agent-alpine-3.14:v21.3.0
    environment:
      - GO_SERVER_URL=http://gocdserver:8153/go
    depends_on:
      - server

networks:
  gocdnet:

See Also

  1. 쿠…sal: [컴] docker 를 사용해서 GoCD 실행하기

Reference

  1. GitHub - jmnarloch/gocd-gradle-plugin: GO Continuous Delivery Gradle plugin
  2. java - How to install oracle jdk11 in Alpine linux docker image? - Stack Overflow

댓글 없음:

댓글 쓰기