初识Jenkins,部署服务

本文详细介绍了如何通过Jenkins进行安装配置,包括最低配置建议、Java环境部署、WAR包与RPM包部署步骤,以及分布式部署和常见插件管理。适合初学者和运维人员参考。

图片

首先,我们要用jenkins,第一步,绕不开的就是安装。Jenkins的最低配置如下:

  • 最低配置:256MB可用内存,1GB可用磁盘空间(Docker推荐10GB)。

  • 小团队配置:1GB+可用内存, 50GB+可用磁盘空间。

当然这个配置是一个最低的标准,他和你的构建并发数有直接的原因,,理论上来说,每有一个cpu,可以配置一个执行数量。但是如果你的构建,需要的java,node等程序,我建议两个cpu对应一个执行数量。也就是说,一台4和8G的服务器,可以将执行数量设置为2。当然并不是说,不能够设置为4,只是当4个构建并发执行的时候,比如,node的编译是真的很消耗资源。这样整个过程会变得很慢。

jenkins是一个java的程序,他需要一个java的环境,一般来说部署java 8的版本就可以,最近新版的也可以部署java 11

你可以选择从Oracel官网下载java 8 的部署包,也可以通过yum的方式。java的部署包,你可通过如下的方式进行下载,可以关注我的公众号,回复jenkins进行下载。

你可以安装Oracle官方的 java 8,链接如下:

https://www.java.com/zh-CN/download/manual.jsp

如果通过yum方式安装openjdk,可以通过以下命令

yum search openjdk

找到想要的版本后,进行安装,比如:

yum install java-1.8.0-openjdk -y

Jenkins部署

Jenkins 有多种部署方式,比如通过 war包进行部署,或者通过rpm包进行部署。下面我会分别说明这两种部署方式.

基于WAR包部署

Jenkins的web应用程序archive(war)包是可以在任何支持Java的操作系统上运行。Jenkins最新 war包

将下载的war包放到jenkins的目录中(可以自定义)。运行命令

# 启动
java -jar jenkins.war

此时可以看到Jenkins的启动日志,查看是否有异常。通过浏览器访问http://localhost:8080

注意:可以通过--httpPort方式指定端口,java -jar jenkins.war -httpPort=9090

基于rpm包部署

| MAC系统部署

下载软件包手动安装jenkins最新版本

brew install jenkins

安装jenkinsLTS版本

brew install jenkins-lts

| Windows系统安装

下载软件包通过向导安装即可。

| Linux系统部署

下载软件包

# 安装
rpm –ivh jenkins-2.150.3-1.1.noarch.rpm
# 启动服务
service jenkins start 
# 开机自启
chkconfig jenkins on

| 配置文件

以rpm方式部署的配置文件在/etc/sysconfig/jenkins,可以定义Jenkins启动参数和端口。

[root@web-01 ~]# grep -v ^$ /etc/sysconfig/jenkins | grep -v ^#
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="root"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_HTTP2_PORT=""
JENKINS_HTTP2_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_EXTRA_LIB_FOLDER=""
JENKINS_ARGS=""

官网的yum安装方式

首先需要安装yum仓库

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

安装epel-release源

yum install epel-release

安装Jenkins

yum install java-11-openjdk-devel
yum install jenkins

你也可以点击这个连接

https://www.jenkins.io/zh/download

参看官方的部署文档。

配置jenkins

当我们部署完成后,登录到页面,第一步需要解锁Jenkins,系统会要求您使用自动生成的密码对其进行解锁。解锁秘钥可以通过$JENKINS_HOME/secrets/initialAdminPassword文件获取。还可以通过在启动日志中获取。

图片

第二步,我们需要安装Jenkins插件。解锁Jenkins之后再自定义Jenkins页面,您可以安装任何数量的插件作为初始化的一部分。分别是安装建议的插件和选择要安装的插件(如果不确定要安装那些的时候可以选择此选项,灵活的自定义安装)。插件安装多了也没关系,可以后面在jenkins插件管理页面删除。 

图片

最后一部就是创建用户,在这里创建一个管理员账号,到此jenkins的初始化配置已完成。 

图片

配置更新站点

由于使用官方的站点速度相对很慢,这里采用清华大学的jenkins更新站点。站点地址: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

图片

图片

Jenkins分布式部署

你可以在系统管理-->节点管理中找到配置的地方,

我们可以采用Launch agents via SSH的方式来部署从节点。这里说明一下,为什么没有用agent,然后用命令的方式连接主节点的部署方式。之前在做分部署的时候,可能是agent版本的问题,用Jenkins api调用过来的请求,从节点部署一直有问题。所以就采用了Launch agents via SSH的方式,这种方式,主节点会用ssh创建一个连接,然后拷贝一个jar包来启动从节点。

具体配置如下

图片

这里我们要添加一个凭证,点击添加

图片

然后点击保存。

这里要注意,从节点的环境配置也要和主节点一样,比如node.js、git、maven等部署工具的版本。另外,主节点所用到的脚本也有进行同步,这里同步有两种方式,第一种可以挂载一个公共的文件路径,比如用NFS,或者使用lsyncd来进行双机相互拷贝。如果采用lsyncd的方式,一定要注意配置文件的权限和属组属主rsync = { perms = true, owner = true, group=true }

总结

今天主要介绍了,jenkins的两种部署方式,一些简单的配置。我在平时应用的时候,更喜欢用rpm的方式进行安装。jekins在部署中,最麻烦的可能是插件,在之后的文章中也会具体聊到。文章中出现的安装包你可以在清华镜像源来下载,地址如下:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/

如果你还有什么问题,或者建议,可以给我留言,或者关注公众号小圆和他的朋友们。

<think> 我们正在讨论如何使用Jenkins部署项目,但前提是服务器上没有安装Jenkins。因此,我们需要在服务器上安装Jenkins,然后配置它来部署项目。 回答步骤: 1. 安装Jenkins:根据服务器的操作系统(如Ubuntu、CentOS等)安装Jenkins。 2. 启动Jenkins服务并设置开机自启。 3. 访问Jenkins的Web界面,完成初始化设置(包括解锁Jenkins、安装推荐插件、创建管理员用户等)。 4. 配置Jenkins:安装必要的插件(例如,如果部署的是Maven项目,需要安装Maven插件;如果是Git项目,需要安装Git插件等)。 5. 配置全局工具(如JDK、Maven、Git等)。 6. 创建任务(Job):选择构建一个自由风格的软件项目或流水线项目。 7. 配置任务:设置源码管理(如Git仓库地址)、构建触发器、构建环境、构建步骤(如执行Shell脚本、调用Maven目标等)以及构建后的操作(如部署服务器)。 8. 保存并运行任务。 注意:在部署项目时,可能还需要配置SSH以便Jenkins可以将构建好的制品推送到目标服务器,或者直接在构建服务器上运行。 由于问题描述是“需要服务器没”,假设意思是在服务器上尚未安装Jenkins,因此我们需要从头开始安装。 根据要求,回答后必须提出3-5个相关问题,并以“§§相关问题§§”开头,然后列出问题。 下面开始回答: </think> ### Jenkins部署项目到服务器(服务器未安装Jenkins的场景) 若目标服务器未安装Jenkins,需先在服务部署Jenkins环境,再配置项目自动化流程。核心步骤如下: 1. **服务器准备** - 安装JDK(Jenkins依赖Java): `sudo apt update && sudo apt install openjdk-11-jdk` - 添加Jenkins仓库并安装: ```bash wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update && sudo apt install jenkins ``` 2. **初始化Jenkins** - 启动服务:`sudo systemctl start jenkins` - 开放防火墙端口(默认8080):`sudo ufw allow 8080` - 通过浏览器访问 `http://<服务器IP>:8080`,输入初始管理员密码(路径:`/var/lib/jenkins/secrets/initialAdminPassword`) 3. **配置自动化部署流水线** - 安装必要插件(如Git、Pipeline、SSH Pipeline Steps) - 新建Pipeline类型任务,在Jenkinsfile中定义部署逻辑: ```groovy pipeline { agent any stages { stage('拉取代码') { steps { git 'https://github.com/your/project.git' } } stage('构建') { steps { sh 'mvn clean package' } // 根据项目类型调整 } stage('部署') { steps { sshPut remote: [ name: 'prod-server', host: '192.168.1.100', user: 'deploy-user', identityFile: '/jenkins/ssh_key' ], from: 'target/*.war', into: '/opt/tomcat/webapps' } } } } ``` > **注意**:若需部署到其他服务器而非Jenkins主机,需在目标服务配置SSH密钥认证,并在Jenkins中添加凭据。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小圆和他的朋友们

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值