当前位置: 首页 > 科技观察

教你在Linux下搭建Jenkins实现自动部署

时间:2023-03-18 13:21:22 科技观察

Jenkins是一个开源的自动化服务器,可以用来轻松构建持续集成和持续交付(CI/CD)管道。持续集成(CI)是一种DevOps实践,其中团队成员定期将他们的代码更改提交到版本控制存储库,然后运行自动构建和测试。持续交付(CD)是一组实践,其中自动构建、测试代码更改并将其部署到生产环境中。Jenkins可以作为独立应用程序安装,作为Javaservlet容器(如ApacheTomcat)中的servlet,或作为Docker容器运行。本文介绍如何在Ubuntu20.04上将Jenkins安装为独立服务。安装JavaJenkins是一个Java应用程序,需要在系统上安装Java8或更高版本。我们将安装OpenJDK11,这是Java平台的开源实现。通过以root身份或以具有sudo权限的用户身份或以root身份运行以下命令来安装OpenJDK11:linuxmi@linuxmi:~/www.linuxmi.com$sudoaptupdatelinuxmi@linuxmi:~/www.linuxmi.com$sudoaptinstallopenjdk-11-jdk安装完成后,检查Java版本:linuxmi@linuxmi:~/www.linuxmi.com$java-version输出应如下所示:openjdkversion"11.0.8"2020-07-14OpenJDKRuntimeEnvironment(build11.0.8+10-post-Ubuntu-0ubuntu120.04)OpenJDK64-BitServerVM(build11.0.8+10-post-Ubuntu-0ubuntu120.04,mixedmode,sharing)安装Jenkins在Ubuntu上安装Jenkins比较简单。我们将启用JenkinsAPT存储库,导入存储库GPG密钥,并安装Jenkins包。使用以下wget命令导入Jenkins存储库的GPG密钥:linuxmi@linuxmi:~/www.linuxmi.com$wget-q-O-https://pkg.jenkins.io/debian/jenkins.io.key|sudoapt-keyadd-接下来,使用以下命令将Jenkins存储库添加到系统中:linuxmi@linuxmi:~/www.linuxmi.com$sudosh-c'echodebhttp://pkg.jenkins.io/debian-stablebinary/>/etc/apt/sources.list.d/jenkins.list'启用Jenkins存储库后,更新apt包列表并通过键入以下命令安装最新版本的Jenkins:linuxmi@linuxmi:~/www.linuxmi.com$sudoaptupdatelinuxmi@linuxmi:~/www.linuxmi.com$sudoaptinstalljenkins如果你收到一条错误信息:W:GPGerror:https://pkg.jenkins.io/debian-stablebinary/Release:Thefollowingsignaturescouldnotbeverifiedbecausethere没有公钥:NO_PUBKEY9B7D32F2D50582E6E:存储库“http://pkg.jenkins.io/debian-stablebinary/Release”没有数字签名。解决方案导入密钥:linuxmi@linuxmi:~/www.linuxmi.com$sudoapt-keyadv--keyserverkeyserver.ubuntu.com--recv-keys9B7D32F2D50582E6然后再次运行:linuxmi@linuxmi:~/www.linuxmi.com$sudoaptupdatelinuxmi@linuxmi:~/www.linuxmi.com$sudoaptinstalljenkinsJenkins服务将在安装过程完成后自动启动。您可以使用以下命令验证这一点:linuxmi@linuxmi:~/www.linuxmi.com$systemctlstatusjenkins您应该看到类似这样的内容:jenkins.service-LSB:StartJenkinsatboottimeLoaded:loaded(/etc/init.d/jenkins;generated)Active:active(exited)sinceFri2020-07-2416:47:34CST;1min27sagoDocs:man:systemd-sysv-generator(8)Tasks:0(limit:4624)Memory:0BCGroup:/system.slice/jenkins.serviceJuly2416:47:32linuxmisystemd[1]:StartingLSB:StartJenkinsatboottime...July2416:47:32linuxmijenkins[33922]:CorrectjavaversionfoundJuly2416:47:32linuxmijenkins[33922]:*StartingJenkinsAutomationServerj:47:241633linuxmisu[33976]:(tojenkins)rootonnoneJuly2416:47:33linuxmisu[33976]:pam_unix(su-l:session):sessionopenedforu>7月2416:47:33linuxmisu[33976]:pam_unix(su-l:session):sessionclosedforu>7月2416:47:34linuxmijenkins[33922]:...done.July2416:47:34linuxmisystemd[1]:StartedLSB:StartJenkinsatboottime。您还可以查看进程信息。linuxmi@linuxmi:~/www.linuxmi.com$ps-ef|grepjenkins调整防火墙如果您在受防火墙保护的远程Ubuntu服务器上安装Jenkins,则需要打开端口8080。Jenkins默认端口为8080,定义在配置文件/etc/default/jenkins.conf中。HTTP_PORT=8080本文修改为9090通常,您希望只允许从特定IP地址或IP范围访问您的Jenkins服务器。例如,要仅允许来自“192.168.135.0/24”子网的连接,请运行以下命令:sudoufwallowprototcpfrom192.168.135.0/24toanyport9090如果您需要允许从任何地方访问,请运行:sudoufwallow9090设置Jenkins安装一个newJenkins安装,请打开浏览器,输入域名或IP地址,然后输入9090端口,http://192.168.150.135:9090会显示如下页面,提示输入安装过程中创建的管理员密码:UnlockJenkinstoensuremanagement管理员安全安装了Jenkins,密码已经写入日志(不知道在哪?)这个文件在服务器上:/var/lib/jenkins/secrets/initialAdminPasswordPleasecopythepasswordfrom您的本地并将其粘贴在下面。使用cat在终端上显示密码:sudocat/var/lib/jenkins/secrets/initialAdminPassword您应该看到一个32个字符长的字母数字密码,如下所示:b55aa5df790f41688125c182193aecfe从终端复制密码,将其粘贴到“管理员密码”字段中,单击继续。在下一个屏幕上,安装向导会询问您是要安装推荐的插件还是选择特定的插件。单击“安装推荐的插件”框,安装过程将立即开始。安装插件后,系统将提示您设置第一个管理员用户。填写所有必填信息,然后单击“保存并完成”。下一页将要求您为Jenkins实例设置一个URL。该字段将填充一个自动生成的URL。单击“保存并完成”按钮确认URL,设置过程将完成。单击RestartStartUsingJenkins按钮,您将被重定向到Jenkins仪表板,并以您在前面的步骤之一中创建的管理员用户身份登录。至此,您已经成功在您的服务器上安装了Jenkins。总结在本教程中,我们向您展示了如何在Ubuntu系统上安装和完成Jenkins的初始配置。您现在可以访问官方Jenkins文档页面并开始探索Jenkins的工作流程和插件模型。