젠킨스 파이프라인(jenkinsfile)에서 /usr/local/bin 인식 시키기

2 min read

젠킨스 파이프라인(jenkinsfile)에서 /usr/local/bin 인식 시키기

젠킨스 파이프 라인에서 sh 을 실행시킬려고 하는데 docker-compose 명령을 인식하지 못한다


pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'echo $PATH'
            }
        }
    }
}

위처럼 $PATH를 찍어 보니 /usr/local/bin이 경로에 없었다. withEnv 라는 함수를 사용해 아래와 같이 활용할수도 있다.


pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                withEnv(['PATH+EXTRA=/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin']) {
                    sh 'docker-compose --version'
                }
            }
        }
    }
}

위는 jenkinsfile 한정으로 인식 시키는 방법이고 global 설정을 위해서는

jenkins 관리 -> System -> Global properties 메뉴에서 Environment variables을 설정 해주면 된다

이름은 PATH+EXTRA 값은 /opt/homebrew/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin 이런식으로 설정하면 설정이 된다

참고자료