首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
大数据
›
数据仓库与分析
›
基于CentOS的Docker + Nginx + Gitee + Jenkins摆设总结 ...
返回列表
发新帖
基于CentOS的Docker + Nginx + Gitee + Jenkins摆设总结
[复制链接]
发表于 2025-11-15 05:49:28
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
一、摆设环境概述
本文论述在CentOS体系上运用PowerShell下令摆设Docker、Nginx、Gitee(文中未详细提及Gitee相干设置,可根据现实环境与其他
代码
托管平台类比)和Jenkins,实现前端主动化摆设的流程,包罗从体系环境准备到项目设置与摆设的完备步调。
二、CentOS体系准备
(一)
服务器
设置
选用CentOS体系,设置为2核CPU、2GB内存、40GB SSD云硬盘体系盘。
(二)安装须要软件(部分)
可以参考手工摆设Docker(CentOS 7.5)
安装Docker
大概须要管理员权限,若提示权限不敷,在下令前添加 sudo:
# 安装yum-utils包,为后续安装做准备
yum install -y yum-utils
# 添加Docker稳定仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum缓存
yum makecache fast
# 安装Docker
yum install docker-ce
# 安装后检查docker相关rpm源文件
rpm -qa |grep docker
# 启动docker
systemctl start docker
# 查看docker状态
systemctl status docker
# 开机自启动
systemctl enable docker
复制
代码
安装及启动乐成
2. 设置镜像加快器
登录
容器
镜像服务控制台。
在左侧导航栏选择“镜像资源 > 镜像中心”。
单击“镜像加快器”,在弹框中找到“加快器地点”,单击,将加快器地点复制到剪切板。
4. 登录弹性云
服务器
。
5. 创建并编辑/etc/docker/daemon.json文件(假如文件不存在,则创建)。
vi /etc/docker/daemon.json
6. 在该文件内添加如下内容:
{
"registry-mirrors": ["加速器地址"]
}
复制
代码
7. 按
Esc
键退出编辑模式,并输入**:wq**生存退却出。
8. 重启Docker使设置收效。
systemctl restart docker
9. 实行以下下令,当Registry Mirrors字段的地点为加快器的地点时,阐明加快器已经设置乐成。
docker info
3. 安装Docker Compose
下载安装:
curl -SL https://bmshare.oss-cn-beijing.aliyuncs.com/docker/docker-compose/v2.29.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
- 设置`/usr/local/bin/docker-compose`为可执行文件:
sudo chmod +x /usr/local/bin/docker-compose
- 检查安装成功:
docker-compose -v
复制代码
表现docker-compose的
版本
号,体现已经乐成安装
4. 安装Git(用于与代码堆栈交互)
查察可安装
版本
:
yum list git --showduplicates | sort -r
- 安装:
yum install -y git
- 检查安装成功:
git --version
-
配置
密钥(可选操作,用于拉取代码库代码):
ssh-keygen -t rsa -C "root"
复制代码
按提示一起回车天生id_rsa(私钥)和id_rsa_pub(公钥)如:
三、安装Nginx
利用docker拉取nginx镜像:
docker pull nginx
复制代码
2. 创建相干目次:
mkdir /docker
mkdir /docker/compose
mkdir /docker/nginx
mkdir /docker/nginx/conf
mkdir /docker/html
mkdir /docker/html/dev
mkdir /docker/html/release
mkdir /docker/html/pro
复制代码
创建docker-compose.yml、nginx.conf设置文件
cd /docker/compose
touch docker-compose.yml
cd /docker/nginx/conf
touch nginx.conf
复制代码
3. 设置nginx.conf文件(示例设置,可根据现实需求修改):
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
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;
#dev环境
server {
listen 8001;
server_name localhost;
# access_log logs/dev.access.log main;
location / {
root /usr/share/nginx/html/dev/dist;
# root /home/html/dev/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
}
#sit环境
server {
listen 8002;
server_name localhost;
# access_log logs/sit.access.log main;
location / {
root /usr/share/nginx/html/sit/dist;
# root /home/html/dev/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
}
# include /etc/nginx/conf.d/*.conf;
}
复制代码
在
服务器
控制台
安全
组设置添加Nginx相干端口(如8080对应反面要安装的jenkins,8001对应dev环境,8002对应sit环境)。可通过云服务提供商的管理界面举行端口设置利用。
4. 编写docker-compose.yml文件(示例,可根据现实需求调解):
version: '3'
networks:
frontend:
external: true
services: #
容器
docker_jenkins:
user: root # root权限
restart: always # 重启方式
image: jenkins/jenkins:lts # 使用的镜像
container_name: jenkins #
容器
名称
environment:
- TZ=Asia/Shanghai
- "JENKINS_OPTS=--prefix=/jenkins_home" ## 自定义 jenkins 访问前缀(上下文context)
ports: # 对外暴露的端口定义
- 8080:8080
- 50000:50000
volumes: # 卷挂载路径
- /docker/jenkins_home/:/var/jenkins_home # 挂载到容器内的jenkins_home目录
- /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
docker_nginx_dev: # nginx-dev环境
restart: always
image: nginx
container_name: nginx_dev
ports:
- 8001:8001
volumes:
- /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /docker/html:/usr/share/nginx/html
- /docker/nginx/logs:/var/log/nginx
docker_nginx_sit: # nginx-sit环境
restart: always
image: nginx
container_name: nginx_sit
ports:
- 8002:8002
volumes:
- /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /docker/html:/usr/share/nginx/html
- /docker/nginx/logs:/var/log/nginx
复制代码
设置阐明:
docker_jenkins 是一个界说的服务名称。
user: root 指定了 Jenkins 容器利用 root 权限。
restart: always 体现容器总是在退出时重启。
image: jenkins/jenkins:lts 指定了 Jenkins 镜像及其
版本
。
container_name: jenkins 是容器的名称。
ports 界说了容器表里端口的映射。
volumes 界说了主机文件体系路径与容器内路径的挂载关系。
image: nginx指定了 Nginx 镜像。
container_name: nginx_dev 是容器的名称。
四、安装Jenkins
拉取Jenkins镜像:
docker pull jenkins/jenkins:lts
复制代码
启动Jenkins容器:
若利用docker-compose方式,进入cd /docker/compose/目次(有docker-compose.yml文件的目次),实行:
-启动jenkins和nginx
docker-compose up -d
- 查看运行状态:
docker-compose ps -a
复制代码
获取Jenkins初始暗码:
cat /docker/jenkins_home/secrets/initialAdminPassword
复制代码
2. 访问Jenkins页面并登录:欣赏器访问服务器地点:8080/jenkins_home,输入初始暗码登录。
3. 选择安装保举的插件
我们选择安装保举插件
插件安装中
4. 创建一个jenkins账号
反面就不绝确定利用
jenkins安装乐成
五、Jenkins主动化摆设设置
(一)设置中文
找到简体中文语言包插件,但是我安装以后没有用果,先装了再说
安装完成后,重启Jenkins(可在欣赏器输入服务器地点:8080/jenkins_home/restart)。
(二)安装Publish Over SSH、NodeJS
Publish Over SSH、NodeJS插件安装
同样的方式这里不再详细利用,【Dashboard】——>【Manage Jenkins】——>【Plugins】——>【Available plugins】,搜刮Publish Over SSH、NodeJS,安装后重启。
Publish Over SSH插件
NodeJs插件
2.
Publish Over SSH设置长途服务器(接纳暗码验证)
- 找到Publish Over SSH,点击新增。
- 在新增面板中输入信息,点击高级,输入暗码、服务器端口,点击Test Configuration Success举行测试,表现success则乐成,先点击应用,再生存。
填完以后点击测试设置Test Configuration,假如向上图所示success就阐明设置没有标题
3.
NodeJS设置
- 【Dashboard】->【Mange Jenkins】->【Tools】->【NodeJS安装】。
- 点击新增NodeJS,设置安装NodeJS的根本信息(自界说别名、选择安装版本),先点击应用再生存。
(三)添加根据
【Dashboard】->【Manage Jenkins】->【Credentials】,点击添加根据
点击添加根据
新增根据内容
(四)创建Job
首页右边视图中,点击Create a job大概New Item。
输入项目名称(如测试项目),选择构建一个自由风格的软件项目,点击确定。
2. 设置项目信息(如源码管理中的堆栈地点、根据,构建触发器等),先应用后生存,返回首页,打开项目,点击立即构建,查察控制台输出,确保根本构建乐成。
这里git地点项报错,阐明下面选择的根据不对应,我们可以调解根据信息,直到没有报错
构建乐成
(五)Gitee webHooks设置(类比GitHub,Gitee利用大概略有差别)
安装gitee插件
在Gitee项目中找到雷同Webhooks的设置选项。
2. 设置payload URL,进入当前项目标Build Triggers 选中途中选中的选项,可以看到反面天生的url,这个就是可以填入Gitee的WebHooks的payload URL
获取payload URL
这个就是webhooks内里须要的WebHook 暗码/署名密钥
如今哀求汗青都是报错的
我push了一次代码,发现可以触发jenkins主动构建
乐成触发构建
(六)构建环境
在Jenkins中将Node.js和npm的bin文件夹添加到PATH中(详细利用根据Jenkins版本和项目需求而定)。
(七)Build Steps
源码管理中的Build Steps模块,选择Execute NodeJS script。
2. 选择已设置的node版本,这个node版本是在上面我们已经设置过的,假如须要其他版本可通过上面利用新增NodeJs即可。
3. 设置完成后,发起立即构建项目。
(八)shell下令
选择增长构建步调,在下拉框选中实行shell
输入查察版本信息和环境变量的指令:
#!/bin/bash
node -v
npm -v
echo $PATH
复制代码
构建日记打印,出现了node、npm的版本号
构建查察输出后,实行安装依靠、打包、处置处罚压缩文件的脚本(根据项目需求大概需调解,如取消某些依靠安装下令的解释):
#!/bin/bash
node -v
npm -v
npm install
# npm i
[email protected]
-D (根据项目需求决定是否取消注释)
echo "依赖安装成功"
npm run build
echo "打包成功"
rm -rf dist.tar
tar -zcvf dist.tar ./dist
echo $PATH
复制代码
先应用后生存,立即构建。
(九)主动摆设到对应环境项目目次
上面打包到了Jenkins中的workspace中,但是我们设置的项目环境路径跟这个差别,比如开发环境项目目次是/docker/html/dev/dist/,以是须要打包后,把dist文件内容推送到/docker/html/dev/dist/目次下。
选择增长构建步调,选择Send files or execute commands over SSH。
2. 填写参数:
Source files:dist.tar(相对于项目workspace目次)。
Remove prefix:无需设置(本案例为根目次利用)。
Remote directory:/docker/html/dev(这个文件路径前面已经提前建好了)。
Exec command:解压、删除等利用下令(如上述脚本中的cd /docker/html/dev; rm -rf dist/; tar zxvf dist.tar; rm dist.tar)。
cd /docker/html/dev
rm -rf dist/
tar zxvf dist.tar
rm dist.tar
复制代码
3. 再次立即构建,打开服务器地点:8001(上面nginx设置的dev环境下端标语是8001)查察摆设项目。
发布
后的打包文件传到了/docker/html/dev目标文件夹下
假如输入地点仍旧不能正常访问
发布
的网站,可以排查一下是不是没有设置
安全
组,添加8001和8002的规则就行
设置
安全
组
发布
乐成!
请留意,在现实利用中,部分步调大概须要根据详细的软件版本、服务器环境和项目需求举行恰当调解。同时,对于涉及到与云服务提供商(如安全组设置)、代码托管平台(如Gitee的Webhooks设置)以及Jenkins插件接口的利用,大概须要进一步参考相干平台的
文档
和接口阐明来确保正确设置。
以上内容参考以下文章:
手工摆设Docker(CentOS 7.5)
Docker + Jenkins + Nginx实现前端主动化摆设
云摆设:阿里云Jenkins+ Gitee构建主动化摆设
回复
使用道具
举报
返回列表
兜兜零元
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表