Jenkins安装和简单远程发布
Jenkins简介 Jenkins是一款由Java开发的持续集成工具,它是敏捷开发框架中实现多次、快速发布的核心工具。在传统的软件开发流程下,当开发团队完成了一个版本的开发工作后,运维人员需要克隆远程代码仓库中的源代码,并编译部署到测试服务器进行测试,这个流程还是比较繁琐的;通过Jenkins,运维人员可以设定好通用的编译和部署模式/脚本,并实现自动化构建,以此达到敏捷开发框架中所要求的“多次发布”和“快速迭代”。 安装Jenkins 安装Java环境 Jenkins是通过Java开发的工具,因此必须安装JDK。 这里用得是华为云镜像站 wget https://repo.huaweicloud.com/java/jdk/8u181-b13/jdk-8u181-linux-x64.rpm yum localinstall jdk-8u181-linux-x64.rpm -y 安装和配置Jenkins 这里用的是清华源 wegt https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenki
Jenkins简介
Jenkins是一款由Java开发的持续集成工具,它是敏捷开发框架中实现多次、快速发布的核心工具。在传统的软件开发流程下,当开发团队完成了一个版本的开发工作后,运维人员需要克隆远程代码仓库中的源代码,并编译部署到测试服务器进行测试,这个流程还是比较繁琐的;通过Jenkins,运维人员可以设定好通用的编译和部署模式/脚本,并实现自动化构建,以此达到敏捷开发框架中所要求的“多次发布”和“快速迭代”。
安装Jenkins
安装Java环境
Jenkins是通过Java开发的工具,因此必须安装JDK。
这里用得是华为云镜像站
安装和配置Jenkins
这里用的是清华源
修改Jenkins配置文件
配置文件路径:/etc/sysconfig/jenkins
修改Jenkins端口:
JENKINS_PORT="8080"
启动Jenkins并访问Jenkins客户端
我将Jenkins部署在了IP为10.0.0.105的虚拟机上,因此可以通过访问10.0.0.105:8080来进入客户端。
默认情况下Jenkins会在/var/lib/jenkins/secrets/initialAdminPassword文件中生成一个初始密码,得到这串密码后可以登录。默认管理员用户名为
admin
。登录后会显示一个安装插件的界面,如果没有明确要安装的插件可以直接关掉,以后再装也可以。
修改管理员密码
点击右上角的Admin -> Setting,可以修改密码,完成修改后会重新登录
到此为止,Jenkins的安装和基础配置就完成了。
Jenkins结合GitHub仓库实现远程发布
以一个Python Flask网页作为例子实现发布
新建一个自由风格的软件项目命名为flask
配置项目,在源码管理中选择Git,并输入Git仓库地址。
增加构建步骤
选择
执行shell
填入shell命令
首先,我们要将python文件移动到web服务器上,这步可以使用scp命令完成
如果是多次发布的话,考虑到需要通过杀死python3进程的方式来重启,所以需要增加一条pkill命令
最后,将任务运行在后台
配置免密登录
由于需要通过ssh命令远程部署,因此需要将Jenkins服务器和web服务器之间实现免密登录。
在Jenkins服务器上执行:
保存配置并构建
点击立即构建
查看构建的控制台输出
点击构建的历史记录
然后应该可以看到类似的输出文档
最后的状态显示了我们此次构建是成功的。
模拟开发人员对代码的更改
在GitHub仓库中,修改一下flask文件中的文本信息:
接下来,我们什么都不用做,不需要进行仓库的重新拉取,不需要执行ssh之类的繁琐命令,只需要在Jenkins中重新点一下
立即构建
,一切的操作就被自动执行了,操作量大大减少,省时省力。Read Next
使用Terraform在Ubuntu中部署KVM虚拟机
使用Terraform部署KVM虚拟机的详细流程
MySQL/Redis相关面试题
数据库运维(MySQL和Redis)的面试题总结
事件源模式和传统数据库方法在数据管理上的优劣分析
对事件源模式和传统数据库方法在应用程序性能影响、性能、扩展性和可靠性的分析;以及云原生环境下数据管理的最佳实践
关于Metrics_server在自托管环境下无法使用的问题
修复kubernetes的metrics server在自托管环境下因缺少CA证书而无法运行的问题。