本人使用的Jeskins是 2.89.3

1. 下载Jenkins: 

下载地址: http://jenkins.io/       下载为War包. 

2.  运行Jenkins:

2.1使用自带服务器运行 (建议使用此方法):

# nohup java -jar jenkins.war --httpPort=8088 & (使用自带服务器启动, 启动端口为8088) 

# nohupjava -jar jenkins.war & (使用自带服务器启动, 启动端口为8080).

2.2使用Tomcat服务器运行.

 把war包放入webapps目录下直接启动tomcat.

3. 查看初始化登录密码:

# vim ~/.jenkins/secrets/initialAdminPassword

4. 登录 jenkins 

用户名: admin (貌似老版本不需要账户)

密码: initialAdminPassword 里面的内容

Docker 安装:

# docker pull jenkins/jenkins

修改加载卷权限(Docker容器中用户ID为1000):

# chown -R 1000:1000 /alidata/server/jenkins/jenkins_home

运行Docker:

docker run -d -p 9999:8080 --name jenkins
-v /alidata/server/jenkins/jenkins_home:/var/jenkins_home 
-v $(which docker):/usr/bin/docker 
-v /var/run/docker.sock:/var/run/docker.sock 
--privileged=true jenkins/jenkins



# 挂载Jenkins目录
# -v /alidata/server/jenkins/jenkins_home:/var/jenkins_home

# 在容器内部可以使用 Docker 命令
# 需要在宿主机上进行赋权 chmod a+rw /var/run/docker.sock
# -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock



查看密码:

docker logs (容器ID)

Docker 运行 Jenkins 流水线部署项目

Docker容器中需要在宿主机执行Shell需要安装插件

 SSH Pipeline Steps 

def remote = [:]
	remote.name = "Brando-Server"
	remote.host = "127.0.0.1"
	remote.user = "root"
	remote.password = "123123"
	remote.allowAnyHosts = true

pipeline {
    agent any

    tools {
        // 系统管理-->全局工具配置-->新增Maven 这里录入Maven工具名称
        maven "M3"
        // 系统管理-->全局工具配置-->新增JDK 这里录入JDK名称,自动下载需要提供Oracle账号密码.
        jdk "JAVA8"
    }
	
    stages {
	
        stage('Git Code') {
            steps {
                sh "rm -rf *"
                git branch: 'main', credentialsId: 'brandolv-pwd', url: 'http://127.0.0.1:9999/java/cloud-parent.git'
            }
        }
		
		stage('Maven Build') {
            steps {
                sh "mvn clean && mvn package -Dmaven.test.skip=true "
                                
				sshCommand remote: remote, command: "cp -f /alidata/server/jenkins/jenkins_home/workspace/cloud-parent/service-brando-center1/target/service-brando-center1.jar /alidata/server/docker/cloud-parent/"
         
				sshCommand remote: remote, command: "cp -f /alidata/server/jenkins/jenkins_home/workspace/cloud-parent/service-brando-center2/target/service-brando-center2.jar /alidata/server/docker/cloud-parent/"
                
            }
        }

        stage('Stop Service') {
            steps {
                sshCommand remote: remote, command: "docker stop service-brando-center1"
                sshCommand remote: remote, command: "docker stop service-brando-center2"
            }
        }

        stage('Start Service') {
            steps {
                sshCommand remote: remote, command: "docker start service-brando-center1"
                sshCommand remote: remote, command: "docker start service-brando-center2"
            }
        }           
    }
}

Jenkins 常见问题:

1. 安装好 Jenkins 以后 可选插件列表为空 :

进入目录: 系统管理->管理插件->高级

修改 升级站点 URL 为: http://mirror.xmission.com/jenkins/updates/update-center.json

                           或者: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json

2. 安装好 Jenkins 以后 新建任务 没有<构建一个Maven项目> 选项:

进入目录: 系统管理->管理插件->可选插件

搜索 Maven Integration plugin 插件, 进行安装. 

Jenkins 常用插件列表:

Python Plugin (用于执行Python);

Maven Integration plugin (Maven项目构建插件, 该插件不安装新建项目不会出现 <构建一个Maven项目>)

GitLab Plugin (GitLab代码仓库插件)

Subversion Plug-in (SVN代码仓库插件)

Localization: Chinese (Simplified) (中文插件包)

<构建> 命令中文详解:
Execute Python script (执行Python脚本)
Execute Windows batch command (执行Windows批处理命令)
Execute shell (执行Shell脚本)
Invoke top-level Maven targets (调用顶级 Maven Target)

<构建后操作> 命令中文详解:

 E-mail Notification (邮件通知)

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐