赞
踩
Jenkins 是一个开源持续集成的工具,是由 JAVA 开发而成。
Jenkins 是一个调度平台,本身不处理任何事情,调用插件来完成所有的工作。
通过Jenkins完成,CI/CD…
安装Jenkins只需要简单几步即可完成。PS: Jenkins的安装方式很多,可参考。Jenkins官方安装文档
https://www.jenkins.io/zh/doc/book/installing/
系统要求/软件要求 | 主机名 | 配置 | ip |
---|---|---|---|
系统 | devops-oldboy-jenkins | 2c4G | 10.0.0.72/172.16.1.72 |
软件 | jdk 11版本 |
#1.rpm包/yum yum安装jenkins
#2.war包 tomcat --> war
#3.jar包 java -jar xx.jar -参数.....
yum install -y java-11 #jdk
#配置jenkins源 [root@jenkins-node1 ~]# cat /etc/yum.repos.d/jenkins.repo [jenkins] name=Jenkins-stable baseurl=http://pkg.jenkins.io/redhat-stable gpgcheck=0 #安装Jenkins [root@jenkins-node1 ~]# yum install jenkins -y #启动Jenkins并加入开机自启动 [root@jenkins-node1 ~]# systemctl start jenkins [root@jenkins-node1 ~]# systemctl enable jenkins [root@oldboy-jenkins ~]# systemctl enable jenkins jenkins.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig jenkins on [root@oldboy-jenkins ~]# systemctl start jenkins
#1. 安装jdk
yum install -y java-11
#2. 安装rpm包
yum localinstall -y jenkins-2.361.4-1.1.noarch.rpm
rpm -ql jenkins
#3.启动
systemctl enable jenkins
systemctl start jenkins
systemctl status jenkins.service
jk.oldboylinux.cn:8080
解锁 Jenkins,当您第一次访问新的Jenkins实例时,系统会要求您使用自动生成的密码对其进行解锁。浏览到http://jk.oldboylinux.cn:8080 并等待 解锁 Jenkins 页面出现。
Jenkins插件安装方式 | |
---|---|
web页面,选择与安装(联网) | 一个一个找选择,安装重启jenkins |
自己下载插件,jenkins替你安装(hpi) | web页面一个一个安装,未来批量安装需要脚本 |
导入插件(手动,批量) | 去一个机器上面把已经下载安装的插件打包,新机器解压,修改所有者 |
jenkins不同版本的插件不通用 |
三种安装方式:
1.联网安装 通过互联网下载插件
1) 需要知道插件名称 ( 需要知道要集成哪些软件或服务; )
2) 在哪个位置进行插件安装 Manage Jenkins --> Mange Plugins
注意:
1) 安装会比较的慢;需要等很久;
2) 如果出现警告,要看提示; 不要盲目升级,很容易造成 Jenkins连带升级, 会出现其他很多插件无法使用;
2.下载 .hpi 文件安装
https://mirror.tuna.tsinghua.edu.cn/jenkins/plugins/git/latest/git.hpi
3.导入插件
将此前已经安装好的插件; 备份下来; 然后恢复;
问题: 插件存储在哪个路径下: /var/lib/jenkins/plugins/
tar xf jenkins-2.361-plugins.tar.gz -C /var/lib/jenkins/plugins/
systemctl restart jenkins
为了方便JK进行操作与管理各种节点,避免出现权限问题。
这里把jenkins运行用户改为root。
当然也可以给Jenkins配置sudo权限,这里我们选择修改为root。
之前的旧版本/etc/sysconfig/jenkins #文件即可.
现在版本:
/usr/lib/systemd/system/jenkins.service
egrep -i '^User|^Group'
/usr/lib/systemd/system/jenkins.service
User=root
Group=root
systemctl daemon-reload
systemctl restart jenkins
#jenkins 初体验
通过运行jenkins 任务
提示我们进行:
选择
dev #开发环境
prod #生产环境
把选择结果放在变量中choose。
jenkins执行脚本
case "$choose" in
dev) echo "部署到测试环境" ;;
prod) echo "部署到生产环境" ;;
esac
补充说明:
自由风格: 一般用于部署静态,各种都可以。
maven项目:java代码。
流水线(pipeline):把第1个或第2个任务通过指令(代码)方式实现。
case "$choose" in
dev) echo "部署到测试环境" ;;
prod) echo "部署到生产环境" ;;
esac
echo "当前用户是:`whoami`"
echo "当前的路径:`pwd`"
温馨提示:项目运行的时候
工作目录在/var/lib/jenkins/workspace/项目名字目录下
运行项目的用户是jenkins
ssh-keygen.exe
cat /c/Users/Administrator/.ssh/id_rsa.pub
#配置基本信息 git config --global user.name "Administrator" git config --global user.email "admin@example.com" git config --global --list git remote -v #初始化 git init #配置远程仓库地址 git remote add origin git@gitlab.oldboylinux.cn:root/baskball.git #上传代码与标签 git add . git commit -m "v1.0" git tag -a "v1.0" -m "v1.0" git push -u origin master git push -u origin Վʔtags
增加如下内容即可/etc/hosts
172.16.1.71 gitlab.oldboylinux.cn
172.16.1.72 jk.oldboylinux.cn
下面配置源码部分内容,通过git方式拉去代码。
配置访问凭证
注意如果出现host key checking 类错误提示:
命令行ssh gitlab.oldboylinux.cn 输入yes即可。
修改index.html,修改标题.
提交,打标签,创建出v2.0 v3.0版本即可.
修改代码标题
git add .
git commit -m v3.0
git tag -a v3.0 -m v3.0
git push -u origin --all
git push -u origin --tags
systemctl restart jenkins
[root@web01 ~]# cat /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; } [root@web01 ~]# cat /etc/nginx/conf.d/ball.conf server { listen 80; server_name ball.oldboylinux.cn; access_log /var/log/nginx/ball.access.log main; error_log /var/log/nginx/ball.error.log notice; root /app/code/ball; location / { index index.html; } }
ssh-keygen
ssh-copy-id root@172.16.1.7
ssh root@172.16.1.7 hostname -I
echo "您当前部署的代码版本为:${git_tag}"
#1. 打包压缩
tar zcf /tmp/baskball-${git_tag}.tar.gz .
#2. 分发
##for + scp
scp /tmp/baskball-${git_tag}.tar.gz root@172.16.1.7:/tmp/
#3. 解压
ssh root@172.16.1.7 "tar xf /tmp/baskball-${git_tag}.tar.gz -C /app/code/ball/"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。