跳至主要內容
Jenkins-命令行当中基于root操作

切换root账号

  • jenkins当中遇到了一个这样的问题
    • 虚拟机没有开放root登录
    • 只能其他用户登录,在切换到root操作
    • 应用更新只能在root用户下操作
  • 添加一个子步骤,编写内容:
su - root<<!
root密码
root用户下相关操作
!

HFwas...小于 1 分钟jenkinsjenkins
Jenkins-插件配置修改
  • 主要修改两个地方,
    • 插件的更新配置地址
    • 插件的安装位置
  • 我们采取docker部署jenkins的方式,同时将/var/jenkins_home挂载到虚拟机路径,这样我们修改配置直接在虚拟机当中修改即可
  • /var/jenkins_home挂载到虚拟机的/root/docker路径下
  • 更新/root/docker/hudson.model.UpdateCenter.xml文件,修改为以下内容:

HFwas...小于 1 分钟jenkinsjenkins
Jenkins-sharaed-library共享插件库
  • 由于流水线被组织中越来越多的项目所采用,常见的模式很可能会出现。 在多个项目之间共享流水线有助于减少冗余,流水线支持创建 "共享库" ,可以在外部源代码控制仓库中定义并加载到现有的流水线中。
  • 这里我们使用插件库的动态检索模式,参考jenkins官方文档
image-20240430153800513

HFwas...大约 1 分钟jenkinsjenkins
Jenkins-agent

docker-agent

  • jenkins提供了docker作为流水线的运行环境,
  • 启动流水线之后,jenkins会在配置的虚拟机当中启动一个docker容器来作为接下来流水线步骤的运行环境,当然也可以不同步骤定义不同的运行环境
  • 参考jenkisn官网,需要在jenkins当中填写agent选项,值为docker,指定容器镜像
pipeline {
    agent {
        docker { image 'node:7-alpine' }
    }
    stages {
        stage('Test') {
            steps {
                sh 'node --version'
            }
        }
    }
}

HFwas...大约 1 分钟jenkinsjenkins
Jenkins-部署

docker部署

  • 执行docker pull jenkins/jenkins:2.452-jdk11
  • 执行docker run -u root -d -p 8080:8080 -p 50000:50000 -v /root/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker --privileged=true jenkins/jenkins:2.452-jdk11
  • 执行docker ps,查看jenkins容器是否启动起来

HFwas...小于 1 分钟jenkinsjenkins