1. Jenkins docker 설치

  • 8080포트는 사용중이므로 9091 로 변경하고 도커 내부에서는 8080포트를 사용하도록 함
  • 접속 : localhost:9091
  • sudo docker run --name jenkins-docker -d -p 9091:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home -u root jenkins/jenkins:lts

2. jenkins tools 설정

  • gradle 설정

3. Item 설정

  • Item 이름 설정
  • pipeline으로 생성

4. Item build 구성 설정

  • Pipeline 항목에서 Pipeline script 선택 

  • script 내용
    • jenkins tools 에 설정한 gradle, jdk Name 을 사용하여 tools 설정
    • git clone 과 build 2 단계
pipeline {
    agent any

    tools {
        gradle 'gradle'
        jdk 'jdk17'
    }
    environment {
        JAVA_HOME = "tool jdk17"
    }
    stages {
        stage('Git-clone') {
            steps {
                git branch: 'develop', url: 'git address...'
            }
        }
        stage('Build') {
            steps {
                sh 'gradle init'
                withGradle {
                   sh 'gradle wrapper clean build'
                }
            }
        }
    }
}

 

5. Build 확인 

  • 해당 프로젝트 내에서 '지금 빌드' 선택

6. 문제 상황 해결

  • local redis 접속 문제 : DENIED Redis is running in protected mode because protected mode is enabled ...
    • jenkins는 docker container 로 실행되고 redis는 로컬에서 실행되는 상황
    • protected mode를 해제 하기 위해 redis password 설정
      • redis.conf 파일에 requirepass 항목으로 설정
      • application.yml에 password 설정
      • Configuration 에서 접속 설정 시 password 설정
        • lettuce    @Value("${spring.data.redis.host}")
              private String host;
              @Value("${spring.data.redis.port}")
              private int port;
              @Value("${spring.data.redis.password}")
              private String password;
              @Bean
              public RedisConnectionFactory redisConnectionFactory() {
                  RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
                  redisStandaloneConfiguration.setHostName(host);
                  redisStandaloneConfiguration.setPort(port);
                  redisStandaloneConfiguration.setPassword(password);

                  return new LettuceConnectionFactory(redisStandaloneConfiguration);
              }
        • redisson
          •     @Bean
                public RedissonClient redissonClient(){
                    Config config = new Config();
                    config.useSingleServer()
                            .setAddress("redis://"+ this.host+":"+ this.port)
                            .setPassword(password);

                    return Redisson.create(config);
                }
  • Connection refused 에러
    • host : localhost -> host.docker.internal 로 변경

 

 

Jazz is an IBM Rationalproject to build a scalable, extensible team collaboration platform for integrating work across the phases of the development lifecycle.

Installing IBM Rational Team Concert Express-C

Test management with Jazz and IBM Rational Team Concert


낼 부터는 참고글을 참조해서 CI 환경구성을 해볼 생각이다
현재 앤트도 사용하지 않고 테스트클래스도 없는 상태에서 많은 어려움이 예상 되지만 그래도 해볼란다

아직 대충 훑어보기만 했는데 ibm 디벨로퍼 웍스의 글(참고)이 도움이 많이 될것 같다
참고 : http://www.ibm.com/developerworks/kr/library/tutorial/j-cq11207/index.html

+ Recent posts