配置CI节点#
节点配置#
1.节点应该运行在服务器的docker内,而不是直接运行在服务器上
2.按照教程文档配置好docker环境,可以将环境commit一个镜像,方便后续使用
使用Coding做持续集成可以在dockerhub上拉取codingci/default-env镜像,该镜像已经安装好常用工具
但还缺少crontab
apt-get install libconfig-crontab-perl libset-crontab-perl python3-crontab
3.运行docker容器,挂载宿主机的docker.sock,才能在容器内部使用宿主机的docker环境
docker run --gpus all -dit --ipc=host --net=host --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /home/geekbang/codingci_rm2024: /home/node/codingci_rm2024 codingci/default-env:test
4.余下的跟着教程文档走就行了
常用的构建计划jenkinsfile#
Jenkins + Docker#
if you continously fail to checkout, think about if you use git lfs to manage your large files.
if the answer is yes, then you need to add a step in your CI workflow to install git lfs and pull the large files.
pipeline {
agent any
stages {
stage('检出') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: env.GIT_BUILD_REF]],
extensions: [
// 添加 GitLFSPull 插件
[$class: 'GitLFSPull'],
],
userRemoteConfigs: [[
url: env.GIT_REPO_URL,
credentialsId: env.CREDENTIALS_ID
]]
])
}
}
}
}