网站首页 > 技术文章 正文
Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
Jenkins 正如它的图标一样是一个优雅的绅士,使用它可以让你的工作更加的专注,因为它把开发-集成-交付打造成高效的流水线作业,管理员只需要前期建立好合适的项目生成方案即可。
部署过程
我这里使用 docker 来部署,需要提前准备好 docker 环境。
docker pull jenkins/jenkins:lts
# 创建一个文件存放目录
mkdir -p /opt/docker/jenkins
docker run -di --name=jenkins -p 8080:8080 -v /opt/docker/jenkins:/var/jenkins_home jenkins/jenkins:lts
# 如果创建后没有启动,请判断是否为目录权限问题
# chown -R 1000 /opt/docker/jenkins
运行成功后,查看运行状况
docker ps
使用服务器 ip:8080 的形式通过网页访问。
这里需要填入管理员密码,默认是写到日志中的,回到操作系统中使用下面的命令来查看:
docker logs -f jenkins
在日志中找到如下图类似的密码,拷贝粘贴到之前的网页输入框里登录到系统。
也可以通过以下命令来查看你的初始化密码,结果是相同的:
[root@mx jenkins]# cat /opt/docker/jenkins/secrets/initialAdminPassword
6f9699eb55d44db9b495a8733f4ba3e1
[root@mx jenkins]#
登录后就是一系列的设置了。
这里就选择“安装推荐的插件”,有部分插件可能会因为网络的问题导致安装失败,可以多次重试或跳过后面再安装。
插件安装好后,会进入到配置用户界面,根据自己的情况进行配置。
配置好实例地址,最后保存完成。
最后就能进入到 Jenkins 的主界面了,在主界面下可以对整个系统进行管理。
配置插件
如果因为之前因为插件没有下载完成,可进入 Manage Jenkins -> Manage Plugins 中再次安装。
也可以对一些插件手动安装,比如像图中的操作,安装好 SSH 插件,可用于后面的持续交付,连接服务器执行部署脚本。
安装好后,在下图可以看到SSH完成的标识。
配置 JDK 和 Maven
由于 Java 用得多,在这里主要是构建 Java 应用,点击全局工具配置。
点击新增加 Jdk,并选择好版本。
同样地,新增 Maven,我这里使用 3.6.2。两个都配置好后,最后点击保存!
配置 SSH
用途:主要用于连接服务器部署项目。首先进入到系统配置中
配置好服务器的 IP 地址和端口,但这里添加账号密码时无效,需要使用下一步的添加凭据功能。
点击添加凭据,填入你需要部署的服务器地址端口等信息。
再次回到之前 SSH 的配置页里,就可以看到我的配置的账户登录信息了。选择并保存。
部署应用
简单新建一个项目,并把仓库地址加入到 Jenkins 中,根据自己的情况配置,配置完成后在主页就能看到自己的项目信息了。
根据自己的项目情况进行配置,也可以配置在执行完成后运行脚本。
猜你喜欢
- 2024-11-21 Docker搭建Jenkins持续集成环境构建springcloud项目
- 2024-11-21 使用Jenkins完成项目持续集成和部署
- 2024-11-21 Jenkins的一些技巧
- 2024-11-21 Jenkins 学习笔记
- 2024-11-21 重启了下 Jenkins,踩到了一个深埋多年的坑
- 2024-11-21 详解Jenkins 实现Gitlab事件自动触发Jenkins构建及钉钉消息推送
- 2024-11-21 Docker+Jenkins+Nginx+Spring Boot 自动化部署项目
- 2024-11-21 从零搭建一个基于 ELK 的日志、指标收集与监控系统
- 2024-11-21 手把手教你用 Jenkins 自动部署 SpringBoot
- 2024-11-21 远程触发Jenkins的Pipeline任务
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)