linux(centos)下使用jenkins + maven + git码云(或github) 实现自动化构建项目

本文详细介绍如何使用Jenkins搭建持续集成环境,包括安装配置、项目构建、自动化部署等步骤,并解决常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载jenkins 官网下载地址,自己选取对应系统 https://jenkins.io/download/

下载rpm或者直接下载war包 https://pkg.jenkins.io/redhat/jenkins-2.9-1.1.noarch.rpm

    系统环境要求: jdk, tomcat, git, maven (没有就安装先)

rpm -ivh jenkins-2.9-1.1.noarch.rpm 我的安装到 /usr/lib/jenkins目录

    Jenkins主目录是用户目录下的.jenkins目录  /root/.jenkins

复制文件夹内的jenkins.war到tomcat目录下的webapps目录下 并启动tomcat (./startup.sh)

进入: cd ~/.jenkins/

    目录介绍:
        jobs: 项目配置目录(新建的job,即一个个项目 的配置存放在这里)
        logs: 日志目录
        workspaces: 默认的工作空间(每个项目会存放在这里)
        users: 创建的用户目录
        secrets: 初始的设置(包括初始化的密码, 在创建了用户以后会自动删除里面的初始化密码文件)

tomcat启动以后 访问网页 http://127.0.0.1/jenkins 提示输入初始化密码, 密码在secrets目录下的initialAdminPassword文件内
进入后先创建一个用户(以后就用这个用户登录), 然后提示下载插件(可以下载推荐的也可以自定义)

按照提示新建一个项目 如图:这里测试从码云获取项目,so选择第一个, 设置完后 保存

(如果是maven项目 需要下载个maven插件-> Maven Integration plugin 在设置里下载 安装重启 下面介绍)

        填写内容:
            项目名称: 最好和真正的项目名相同
            描述: 随意

            源码管理: 选择 git (当遇到 401, 没权限, 读取远程key失败请看下面错误解决)
            构建触发器: 设置什么时候触发构建功能(可以用脚本,或者有人提交代码到码云时候构建,或者定时构建都可以)

            (jenkins有各种提示, 都介绍的很详细了)   



如果项目是私有的项目(如码云中的), 则需要设置用户名密码–在 Credentials 中配置 Add 一个

点击左侧 立即构建
到主面板查看项目构建情况: 红色代表失败, 蓝色表示成功

可以再面板的 系统管理/系统设置 中修改设置

    系统设置:
        1.点击高级设置: 可以修改 工作空间根目录,构建记录根目录
        2.可以修改时间格式
        3.可以修改ssh端口,管理员邮件地址,Jenkins URL等等
    Global Tool Configuration:
        1.设置maven路径
        2.设置jdk路径
        3.设置git文件路径

对于maven项目 配置如图一,可自行更改

下图是点击构建以后打印的日志信息(正在下载依赖) (but有个问题 下载的jar包并没有按照我maven中配置的仓库地址,而是下载到了.jenkins目录下)

发布war到tomcat: 由于这里编译就和自己电脑打包项目一样,会把war包放在target目录下, 我们需要一个插件把其发送到tomcat的webapps中

(下载插件 Deploy to container Plugin)

安装插件以后进入项目的配置界面 设置”构建后操作”,里面就会多一个 “Deploy war/ear to a container” 选项

    配置:
        WAR/EAR files: target/*.war  (war包的相对路径,相对工作空间)
        Context path: MeetCode (发布到tomcat的路径,这里我用项目名,到时候访问就用http://127.0.0.1:80/MeetCode)

        Containers: 配置一个tomcat容器(我用的tomcat8,但是我的版本没有 只能用7x)
                Manager user name: (tomcat用户名: 进入tomcat/conf/tomcat-users.xml设置)
                Manager password: 密码
                Tomcat URL: http://127.0.0.1:80 (设置远程tomcat访问路径)

设置完毕 保存 构建 可看日志观察构建过程 (进入tomcat/webapps下 发现war包正在传入), success之后访问网页可用

其实也可以不发送war包, 可以在Post Steps中配置maven运行命令*

    要求: 1. 在pom文件中加入tomcat插件
          2. 如下图配置,则构建最后会直接通过maven运行启动项目

    其他问题: 运行其实依然处于正在构建状态(可以自己查看项目构建状态),
            所以需要在项目配置中勾选"丢弃旧的构建",保持构建的最大个数填写"1",(也可以设置构建最大时间);

设置邮件消息

1.进入 系统管理 / 系统设置 / 邮件通知
设置选项: (这里用qq邮箱测试)
    SMTP服务器: smtp.qq.com
    用户默认邮件后缀: @qq.com
    使用SMTP认证: true
    用户名: (作为发件箱的qq邮箱,可以带或不带后缀)
    密码: (一般是邮箱密码,qq邮箱特殊,需要进入qq邮箱/设置/账户设置, 发送短信生成一个smtp密码)
    使用SSL协议: false
    SMTP端口: 587
    Reply-To Address: 我没写
    字符集: UTF-8

    测试: 写另一个邮箱地址进行测试
    注意: 如果失败, 提示com.sun.mail.smtp.SMTPSendFailedException: 501 mail from address must be sam
    需要设置    系统管理员邮件地址, 在本页面上面,必须与发件箱一致

错误解决:

问题: 设置git地址时候 遇到401错误 或者 fatal: Could not read from remote repository

原因: 本地git没有配置SSH公钥

  • 这个配置在github中在右上角 Settings/SSH keys and GPG keys 中
  • 在码云中在右上角 修改资料/SSH公钥 中(二者命令不同)

    github生成公钥 命令:
             git config --global user.name "XXXXX"
             git config --global user.email "XXXXXXX@gmail.com"
         1.查看是否已经有了ssh密钥:cd ~/.ssh
         如果没有密钥则不会有此文件夹,有则备份删除
         2.生存密钥:
             ssh-keygen -t rsa -C "XXXXXXX@gmail.com"
         按3个回车,密码为空。
         此时生成两个文件:id_rsa和id_rsa.pub 公钥在id_rsa.pub中,查看并复制粘贴到上面github的配公钥的地方,添加一个公钥
         并且在本地也添加公钥
             ssh-add id_rsa.pub
    
    码云生成公钥 命令: 见 http://git.mydoc.io/?t=154712
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值