暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Jenkins 配置、使用和自动构建项目

java小小小小栈 2021-02-22
664



        持续集成,Continuous Integration,简称CI,是一种软件开发实践,在实践中指只要代码有变更,就自动运行构建和测试。

        Jenkins 是一个开源的、提供友好操作界面的持续集成 CI 工具。


        部署流程。

        用户提交代码到 Git 仓库;

        Jenkins 服务器从指定 Git 仓库拉去代码,使用 maven 编译打包。

        Jenkins 服务器 ssh 连接应用服务器,将打包好的 war 或者 jar 包传送到应用服务器指定位置,例如 tomcat/webapps。


        资源准备并传输到 linux  虚拟机。



// linux 虚拟机新建文件夹
cd /
mkdir jenkinsoft


// mac 传输文件到虚拟机。maven、tomcat、git、jenkins 的 linux 版本需要自己下载;plugins 是 jenkins 的插件,包含 git、Deploy to container等。
scp /Users/ly/Downloads/持续集成/apache-maven-3.6.3-bin.tar.gz root@10.36.144.110:/jenkinsoft


scp /Users/ly/Downloads/持续集成/apache-tomcat-8.5.57.tar.gz root@10.36.144.110:/jenkinsoft


scp /Users/ly/Downloads/持续集成/git-2.10.0.tar.gz root@10.36.144.110:/jenkinsoft


scp /Users/ly/Downloads/持续集成/jenkins.war root@10.36.144.110:/jenkinsoft


scp /Users/ly/Downloads/持续集成/plugins.zip root@10.36.144.110:/jenkinsoft




        安装 Jenkins。

        解压 tomcat 并将 jenkens.war 放入 tomcat/webapps。

        修改 tomcat 的8081ip、8015shutdown、8019AJP。



cd jenkinsoft


// 解压
tar -zxf apache-tomcat-8.5.57.tar.gz


// 移动
mv jenkins.war apache-tomcat-8.5.57/webapps


// 修改端口号等
vi apache-tomcat-8.5.57/conf/server.xml


// 启动 tomcat
apache-tomcat-8.5.57/bin/startup.sh


// 关闭 tomcat
// apache-tomcat-8.5.57/bin/shutdown.sh


// 停止 docker 的 tomcat,免得干扰
docker stop $(docker ps -aq)


// 浏览器访问, ip地址改成自己的。
ip a
http://10.36.144.110:8081/jenkins


// 运行浏览器页面显示的命令拿到密码
cat /root/.jenkins/secrets/initialAdminPassword


// 浏览器里粘贴密码 然后 continue
// 输入用户名 admin,密码。
// 关闭tomcat 重新打开,刷新浏览器就进入 jenkins 管理界面
// 不要选择安装插件



        安装 Git。https://mirrors.edge.kernel.org/pub/software/scm/git/。



// 解压
tar -zxf git-2.10.0.tar.gz


// 安装 Git 所需要的组件
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install -y gcc perl-ExtUtils-MakeMaker


//删除系统的 Git,这行命令一定要执行
yum remove git


cd git-2.10.0


// 编译
make prefix=/usr/local/git all


// 安装
make prefix=/usr/local/git install


// 配置环境变量
vim /etc/profile


export GIT=/usr/local/git
export PATH=$JAVA_HOME/bin:$GIT/bin:$PATH


source /etc/profile


// 测试
git --version



        安装 Maven。



tar -zxf apache-maven-3.6.3-bin.tar.gz


// 配置环境变量
vim /etc/profile


export MAVEN_HOME=/jenkinsoft/apache-maven-3.6.3
export PATH=$JAVA_HOME/bin:$GIT/bin:$MAVEN_HOME/bin:$PATH


source /etc/profile


// 测试
mvn --version


// 配置阿里云私服
vi apache-maven-3.6.3/conf/settings.xml


<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>




        Manage Jenkins -> 全局安全配置,取消认证。

        Manage Jenkins -> 插件管理,安装 git 插件。由于网络或版本原因,安装不成功。可以直接拖安装好的插件。



// 当前 yum 是否安装了 zip/unzip
yum list | grep zip/unzip


// 安装zip 根据提示输入 y 允许安装
yum install zip


// 安装unzip 根据提示输入y允许安装
yum install unzip


// 解压
unzip plugins.zip


// 删除已有的插件
rm -rf /root/.jenkins/plugins


// 移动
mv plugins /root/.jenkins




        关闭 tomcat 服务,重新打开。多试几次。然后刷新 jenkins 管理界面。全局工具配置里出现 git 代表成功。


        创建 java 测试项目并 gitee 管理。

        配置 git 路径。添加 gitee 的用户名和密码。



        配置 Maven 构建命令。


        准备部署服务器。配置 tomcat 用户。



vi apache-tomcat-8.5.57/conf/tomcat-users.xml


// 用户名和密码都是 tomcat,可更改
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status"/>


// 注释或删除 Value 标签
vi apache-tomcat-8.5.57/webapps/manager/META-INF/context.xml




        Jenkins 项目点击构建。


        查找构建的 war 包地址。

        

        配置项目远程发布。


        Jenkins 项目再次构建。

        浏览器中输入 http://10.36.144.110:8081/demo1/ 测试是否构建成功。


        配置自动构建项目。

        配置 jenkins 的构建 token,地址就是http://10.36.144.110:8081/jenkins/job/jenkins_demo1/build?token=123

        更改代码并上传gitee,浏览器中输入地址运行。等构建完成后刷新 http://10.36.144.110:8081/demo1/ 测试。


        在 gitee 项目仓库点击最右侧管理,点击 webhooks。由于现在是本地服务器地址,所以要进行内网穿透。

        使用 natapp 设置内网穿透。

        登录申请一个免费的隧道,记住 token。



        下载 natapp mac客户端。双击,在系统偏好设置 -> 安全性与隐私里放行。



chmod 777 natapp
// token 为 natapp 隧道 token。
./natapp -authtoken=token




        自动弹出该页面,记住域名,并且不要关闭该页面。


        webhooks 里配置。


        设置Jenkins跨域。


        

        更改代码并上传gitee,等构建完成后刷新 http://10.36.144.110:8081/demo1/ 测试。


文章转载自java小小小小栈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论