搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
笔触狂放9
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
pyspider入门
2
计算机必背单词——算法_计算机算法常用词汇
3
压缩SQLServer数据库日志的一个存储过程
4
Centos7下使用YUM安装mysql8_centos7 yum安装mysql8
5
[AI Mem0] 快速开始:智能记忆管理,让你的数据活起来!
6
在centos7下安装docker--------yum安装方式_centos7安装docker的yum配置
7
程序员遇到的真实奇葩面试经历!你中招了吗?| 程序员有话说
8
comfyui节点编写示例文件(上)_comfyui input输入类型
9
《Ai企业知识库》rasa项目-项目启动命令集-开放api接口启动以及保证多轮对话!!_rasa api
10
解决k8s拉取flannel失败的方法_flannel镜像拉取失败
当前位置:
article
> 正文
gitlab+jenkins 搭建部署_gitlab jenkins
作者:笔触狂放9 | 2024-08-10 22:51:43
赞
踩
gitlab jenkins
为什么要搭建gitlab和jenkins?
开发人员在每次开发完或修改一个bug后都要手动合并,打包或者连接服务器执行打包部署,每次手动操作,极大的影响了开发人员的效率。
gitlab和jenkins组合起来,开发人员只需要进行推送或合并代码到gitlab就可以实现服务自动打包,发布,部署,通知。
操作流程:
实验环境:
环境准备:三台服务器 版本:Centos7.3
关闭防火墙和selinux
GitLab版本:10.2.2
jenkins版本:jenkins-2.222-1.1
插件软件包:jenkins-plugins.tar.gz
nginx版本:nginx/1.18.0
实验步骤:
8.5:安装gitlab 搭建出web界面平台
1.安装前提软件:
yum install curl policycoreutils openssh-server openssh-clients postfix -y
2.下载清华源的gitlab安装包:
wget
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm
3.rpm安装软件包:
rpm -ivh gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm
4.修改配置文件,指定本服务器的ip地址:
打开配置文件:vim /etc/gitlab/gitlab.rb
第十三行:
修改为:external_url '
http://192.168.8.5
'
5.配置启动gitlab:
gitlab-ctl reconfigure
查看状态:gitlab-ctl status
gitlab服务管理命令(开启/关闭/重启)
gitlab-ctl start/stop/restart
6.使用浏览器登录gitlab:
http://192.168.8.5/
创建组:
点击下方create groups创建即可
创建用户:
将用户加入组:
Gitlab用户在组中有五种权限:*****
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,测试、产品经理可以赋予这个权限
Developer:可以克隆代码、开发、提交、push,开发人员可以赋予这个权限
Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限
创建项目:
Gitlab中的组和项目有三种访问权限:
Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到
将8.5主机的本地用户的秘钥上传至gitlab的用户上:
生成密钥:ssh-keygen
查看密钥,将密钥复制:
cat /root/.ssh/id_rsa.pub
返回web界面:
7.克隆下载项目:
git clone git@192.168.8.5:dev/web.git
8.添加自己名称与邮箱
cd web/
git config --global user.name "lhy"
git config --global user.email "1793594332@qq.com"
9.修改内容,然后上传代码至gitlab的web项目中
echo 123456 > new.txt
git add .
git commit -m "add new.txt"
git push -u origin master
10.在8.6主机上生成密钥 然后复制秘钥 将密钥复制到gitlab平台上的张三用户上
ssh-keygen
cat /root/.ssh/id_rsa.pub
在gitlab web平台上切换张三用户 与上面通方法 将密钥复制给张三用户
11.在8.6主机关联远程的gitlab仓库
mkdir /data
cd /data
git init
git remote add origin git@192.168.8.5:dev/web.git
下载同步代码:
git pull origin master
创建新的分支,然后上传自己更改的代码
git config --global user.email "zhangsan@qq.com"
git config --global user.name "zhangsan"
git checkout -b ops
echo 6666666 > new111.txt
git add .
git commit -m "add new111.txt"
将创建的分支推送至gitlab的master主分支上
git push -u origin ops
在web界面上查看 是否有了刚才创建的new111文件和ops分支
12.在8.6服务器上部署jenkins:
下载jenkiins软件包:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.222-1.1.noarch.rpm
rpm -ivh jenkins-2.222-1.1.noarch.rpm
13.修改配置文件(默认jenkins端口为8080,如果同gitlab一起安装,需要修改端口)
vim /etc/sysconfig/jenkins
修改:
JENKINS_USER="root"
JENKINS_PORT="8081"
14.启动jenkins服务:
systemctl start jenkins
15.加快更新,将地址改为国内地址,不然访问会很慢
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
更改:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
重启服务:systemctl restart jenkins
16.登录访问:
http://192.168.8.6:8081
查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword
登录进来以后 不需要使用它的插件
17.将插件拖至服务器当中:
tar xf jenkins-plugins.tar.gz
cd plugins/
cp -rp * /var/lib/jenkins/plugins/
重启服务:
systemctl restart jenkins
18.修改jenkins中的admin用户密码:
修改之后重新登录
19.将jenkins与gitlab关联:
在jenkins上下载gitlab中master的文件,查看本地是否有那些文件
查看8.6服务器的/var/lib/jenkins/workspace目录,会有个项目名相同的文件夹
cd /var/lib/jenkins/workspace/
至此 jenkins与gitlab关联成功!
20.使用脚本将jenkins与nginx的网页根目录关联,使其可以自动更新网页根目录
在8.7服务器上安装nginx:
yum -y install nginx
在8.5服务器上下载gitee码云上项目代码(代码随意)
宿主目录下:git clone
Imitation_MI: 仿照小米商城的官网编写的主页、登录、注册和购物车功能,只是一些静态网页和一些简单的功能,没有涉及到与后台数据的交互,适合新手来练习web的技术项目
将项目代码上传至gitlab web界面上
cd web
cp -a /root/Imitation_MI/* ./
git add .
git commit -m "Initial commit"
git push -u origin master
打开jenkins网页,将最新项目代码 下载至本地
下方蓝色代表下载无误
在8.6服务器上编写想nginx服务器上传代码的脚本
mkdir /scripts
vim /scripts/web.sh
添加:
#!/bin/sh
CODE_DIR=/var/lib/jenkins/workspace/web/
WEB_DIR=/usr/share/nginx
IP=192.168.8.7
TIME=`date +%F-%H-%M-%S`
cd $CODE_DIR && tar zcf /tmp/web-${TIME}.tar.gz ./*
scp /tmp/web-${TIME}.tar.gz $IP:$WEB_DIR
ssh root@$IP "cd $WEB_DIR && mkdir web-$TIME"
ssh root@$IP "cd $WEB_DIR && tar xf web-${TIME}.tar.gz -C web-$TIME && rm -rf web-${TIME}.tar.gz"
ssh root@$IP "cd $WEB_DIR && rm -rf html && ln -s web-$TIME html"
将8.6服务器的公钥传输至8.7服务器,使其可以进行免密登录
ssh-copy-id root@192.168.8.7
运行脚本测试是否成功
sh /scripts/web.sh
查看nginx服务器上的网页根目录是否存在了最新上传的项目代码
访问nginx网页 查看是否发生变化:
http://192.168.8.7
网页发生了变化 代表脚本无误 关联无误
21.实现自动构建上传代码,使其可以察觉gitlab上项目代码的变化,自动运行脚本。
1
将URl和令牌复制到gitlab上
在8.5服务器上对网页进行细微修改,然后再访问查看是否发生了变化
cd web
vim index.html
git add .
git commit -m "modify index.html"
git push -u origin master
再次访问标题发生了变化
至此实验结束 有需要软件包的朋友们 可以私信小编!!!
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/笔触狂放9/article/detail/960835
推荐阅读
article
Jenkins
部署
Vue
项目
指引:
Vue
项目
本地跨域代理 、解决ERR_
UNSAFE
_
PORT
...
找到谷歌浏览器的应用程序安装目录在目标栏的末尾追加–explicitly-allowed-ports=port1,por...
赞
踩
article
Jenkins
打包
部署
vue
项目_
jenkins
打包
vue
项目...
Jenkins
打包
部署
vue
项目_
jenkins
打包
vue
项目
jenkins
打包
vue
项目 ...
赞
踩
article
windows
服务器
下使用
jenkins
部署
vue
项目_
windows
jenkins
vue
...
使用
jenkins
自动化部署
vue
项目,从gitee上自动拉去代码,构建到nginx上。修改代码提交到gitee后,点击...
赞
踩
article
1Panel
+
Docker
+
Jenkins
+Jdk+
Maven
+Git_
1panel
安装
jdk...
1Panel
可以作为一个linux容器化可视化管理工具。_
1panel
安装
jdk
1panel
安装
jdk ...
赞
踩
article
Jenkins
入门——
安装
docker
版的
Jenkins
&
配置
mvn
,
jdk
等 & 使用案例初步...
本篇博客介绍
docker
版的
jenkins
的
安装
和使用,maven、
jdk
,汉语的
配置
,期间遇到的各种问题及其解决方案,...
赞
踩
article
【大厂AI课学习笔记NO.70】
GitHub
,
GitLab
,
CODING
等_
github
与
gitee
...
本文详细介绍了
GitHub
、
GitLab
、Bitbucket、
CODING
和Gitee这五个代码托管平台,涵盖了它们的定...
赞
踩
article
针对
git
上传文件出现的
warn
in
g
: LF
will
be
replaced
by
CRLF
的解...
Git提示“
warn
in
g
: LF
will
be
replaced
by
CRLF
”问题描述:W
in
dow平台下使用“...
赞
踩
article
一键搞定
centos7
的
docker
+
selenium
+
app
ium+
jenkins
+android...
platforms;一键搞定
centos7
的
docker
+
selenium
+
app
ium+
jenkins
+android...
赞
踩
article
使用
Idea
无法用
Token
登录
GitLab
_
idea
gitlab
token
401...
Idea
GitLib 强制使用
Token
登陆。_
idea
gitlab
token
401
idea
gitlab
to...
赞
踩
article
idea
gitlab
access
token
登录问题_
idea
gitlab
token
登陆...
好景不长,默认生成的
token
一个月到期,push代码发现过期,提示重新用
token
登录,遂重新生成一个
token
,特意...
赞
踩
article
【
Android
Git
】Mac配置支持
Git
lab、
Git
ee和阿里云效多
平台
...
在开发过程中,会遇到多
平台
项目管理问题,需要进行配置支持,常用的
平台
有
Git
lab
Git
ee阿里云效等,本篇文章记录下使...
赞
踩
article
Jenkins
+
github
自动化部署
配置
_
jenkins
配置
github
...
填入密码,继续,选择“安装推荐的插件”,安装完成,创建第一个管理员用户。1 docker安装
jenkins
。5 jdk,...
赞
踩
article
Jenkins
- 构建私有
GitHub
存储库_
jenkins
github
配置
deploy
...
Jenkins
- 构建私有
GitHub
存储库_
jenkins
github
配置
deploy
keys
jenki...
赞
踩
article
Jenkins
2.60.3
github
docker
java
maven
超详细图文教程_jen...
Jenkins
2.60.3
github
docker
java
maven
超详细图文教程JDoker配置Jenkin...
赞
踩
article
Docker
+
Jekins
+GitHub 持续集成配置(详细操作过程)_
github
jenkins
...
配置前提:云服务器:linux系统ubuntu。_
github
jenkins
docker
github
jenkins
...
赞
踩
article
Jenkins
+
github
配置
构建
触发器_
jenkins
+
github
触发
构建
...
Jenkins
+
github
配置
构建
触发器在
Jenkins
上指定git绝对路径使用Poll SCM定时检查代码库是否有更...
赞
踩
article
github
与
Jenkins
集成
_
jenkins
连接
github
...
在
Jenkins
中安装适合的插件来与 GitHub 集成,比如 GitHub 插件或者 GitHub Integra...
赞
踩
article
jenkins
+
springboot
+
github
(或
码
云
)实现自动部署
_
jadmins
码
云
...
jenkins
安装:sudo wget -O /etc/yum.repos.d/
jenkins
.repo https:/...
赞
踩
article
Git
、
Git
Hub、
Git
ee、
Git
Lab
_
github
gitlab gitee...
Git
、
Git
Hub、
Git
ee、
Git
Lab
_
github
gitlab gitee
github
gitlab git...
赞
踩
article
Git
、
Git
hub
、
Git
lab、
Git
ee的区别_
gitlab
和
github
的区别...
2、
Git
hub
是不开源的,企业版、私有仓库收费,因为
Git
hub
的初衷就是为了大家共享自己的劳动成果。1、
Git
是版本...
赞
踩
相关标签
jenkins
vue.js
运维
vue
windows
自动化
java
docker
学习
笔记
github
windows平台上git上传ios文件
LF will be replaced by CRLF
selenium
appium
intellij-idea
gitlab
git
macos
git 多平台
android