๐ Provisioning - Jenkins
๐ณ๏ธโ๐ [๊ถ๊ธํ์ ]
๋ชฉ์ฐจ
mkdir jenkins_home
chmod 777 jenkins_home
docker run -d \
--name jenkins \
-p 8089:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
| ํฌํธ | ์ค๋ช |
|---|---|
| 8080 | Jenkins ์น UI (8089๋ก ํฌ์๋ฉ) |
| 50000 | ์์ด์ ํธ์์ ํต์ ํฌํธ (JNLP) |
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
์ด ๊ฐ์ Jenkins ์น UI(http://localhost:8080)์ ์ ๋ ฅํ์ฌ ์ด๊ธฐ ์ค์ ์ ์งํ
docker exec -it jenkins bash
vi /var/jenkins_home/config.xml
<useSecurity>true</useSecurity> โ false ๋ก ์์ ํ ์ ์ฅ
exit
docker start jenkins
pipeline {
agent any
tools {
//jdk "Amazon Corretto 11"
//gradle "Gradle 8.5"
}
environment {
//JAVA_HOME = "tool Amazon Corretto 11"
project="myproject"
//TARGET_SERVER_IP=""
//TARGET_SERVER_PASS=""
//project="${JOB_NAME}"
TAG="latest"
git_url="http:///root/${project}.git"
//CREDS_ACC = credentials('acc')
//CREDS_SEC = credentials('sec')
}
stages {
stage('์ค๋น') {
steps {
sh '''
#java -version
#gradle --version
#kubectl version
#docker pull gcr.io/kaniko-project/executor:latest
'''
}
}
stage('์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ') {
steps {
echo '์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ ์งํ'
//checkout([$class: 'GitSCM', branches: [[name: 'origin/main']], extensions: [[$class: 'CloneOption', timeout: 120]], userRemoteConfigs: [[credentialsId: "myid", url: "${git_url}"]]])
}
}
stage('์ฝ๋ ๋น๋') {
steps {
echo '์ฝ๋ ๋น๋ ์งํ'
//sh 'gradle clean build -x test -b build.gradle'
}
}
stage('๋ฐฐํฌ') {
steps {
echo '์ด๋ฏธ์ง ๋น๋ & ์ ์ฅ์ ํธ์'
sh 'pwd'
sh '''
# docker run --rm \
# -v .:/workspace \
# -w /workspace \
# gcr.io/kaniko-project/executor:debug \
# --dockerfile Dockerfile \
# --context=git://id:pass@domain/9988/mygit.git \
# --destination=mydomain/myimage:1
'''
}
}
}
}