网站在哪备案,乐山市做网站的公司,松岗怎么做企业网站设计,艾瑞网的网站架构从 0 搭建公司Jenkins服务 Centos7 安装 (运维人员) 安装环境 配置DNS安装JDK17安装Jenkins安装Docker安装GIT安装Ansible启动Jenkins安装插件配置凭据配置共享库配置 (开发经理)使用 (开发、测试人员)
安装 (运维人员)
安装环境
配置DNS
新安装系统的服务器无法解析域名配置DNS /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114安装JDK17
到Oracle官网找到JDK17 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
yum install -y jdk-17_linux-x64_bin.rpm安装Jenkins
官方文档
sudo wget -O /etc/yum.repos.d/jenkins.repo \https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install fontconfig
sudo yum install jenkins安装Docker
官方文档
# Remote
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine# Config
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# Install
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# Start
sudo systemctl start docker# Verify
sudo docker run hello-world增加权限
sudo usermod -aG docker jenkinsnewgrp docker安装GIT
yum install -y git安装Ansible
sudo yum install -y epel-release
sudo yum install -y ansibleUsing Ansible playbooks — Ansible Community Documentation
启动Jenkins
sudo systemctl start jenkins
sudo systemctl restart jenkins
sudo systemctl status jenkins查看日志使用
journalctl -u jenkins.service安装插件
配置用户信息略过。登录之后要安装插件。Jenkins Plugins插件
配置凭据
登录服务器链接GIT仓库下载代码都需要账户密码并且拥有权限为了不泄露这些信息可以到 系统管理 - 凭据 中创建凭据供后续连接时使用 有以下几种类型可选。 ssh使用的公钥需要配置到目标机器~/.ssh/authorized_keys中免密远程使用
配置共享库
为了使构建流程可以统一维护这里创建一个仓库用于维护公共部署流程。 之后到系统管理中维护一下共享库的位置。 配置 (开发经理)
首先要先创建针对某项目的配置仓库。例如缉查布控项目EHL-DAP这里创建其配置仓库EHL-DAP-CONFIG。
然后要按照项目各现场分类。例如缉查布控项目分为烟台、喀什两个现场。这里首层有两个现场的文件夹。 EHL-DAP-CONFIG/yantai/ 与 EHL-DAP-CONFIG/kashi/
因为每个项目中可能有许多子模块需要单独部署启动。例如这里的定时任务模块schedule我们创建单独的文件夹来管理。EHL-DAP-CONFIG/yantai/schedule/。
之后因为每个项目又会部署到不同的环境这里列举三个环境dev/test/prod。所以又分为三个子目录。 EHL-DAP-CONFIG/yantai/schedule/dev/。
最后在环境目录下可以维护配置并创建Jenkinsfile文件编写流水线。EHL-DAP-CONFIG/yantai/schedule/dev/Jenkinsfile 下面是PrivateKey-201对应的公钥如果目标机是新服务器需要到/root/.ssh/authorized_keys文件中将公钥添加进去。注意authorized_keys文件权限必须是600。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3J6vOKJbSYSqPl8If6vPISpaox4s7get0rijzmQKocqdncxZFrULc2Qlfmt4PEMs8jPsq9KACwjWYisYYJWpLK/UdXOVs24gwMqhly5Lu5yfh9kMIjN8yF5Muh26vF5YiBLBnt0siDkZBSVDdPAFZJMJdXJj8N9i19DLj8rctK5Ot4NJTYPRbuXEIuLn91sVVPAZm1TAXieZ4PQhi9Ca73V3vJ70RKSKXgFeXcWTZyo/V5ADJiq21Ac8vMPy5YocsKpIcf62bdh3eOjGyAW4rpIxZvg1iV5/pTk6yNVN/wfP3yfipDz80KiiirwyGAhDZZ6Sf1htaGIufD rootlocalhost.localdomain最后一行的流水线调用有许多不同的方法支持。目前有以下这些后续会陆续支持
方法功能deploy_back部署后端Java服务使用bin/start.sh启动项目deploy_back_by_docker通过Docker部署后端项目deploy_front部署前端项目deploy_front_by_docker通过Docker部署前端项目
维护好Jenkinsfile并提交项目之后我们可以转战jenkins页面可视化的创建项目。
创建不同现场的文件夹 名称可以填写汉字 在现场文件夹中再创建项目文件夹例如缉查布控项目。
点击左侧新建项目 之后创建流水线项目命名方式要按照标准。环境-项目名
环境标准开发dev测试test预发pre生产prod
例如dev-dispatch-analysis、test-dispatch-system 拉到底部流水线选择 Pipeline script from SCM 直接填写流水线配置。填完点击保存 第一次保存后项目是空的需要点击立即构建。第一次会显示失败因为第一次是配置落位的过程。 点击一次之后就可以正常使用了。
使用 (开发、测试人员)
首先点击 通过参数构建 部署
输入要构建的分支选择构建机器MODE选择DEPLOY然后点击构建即可触发部署流程。 每次构建都会生成一个版本号。规则是日期(年月日时分秒)_GIT提交版本_构建版本
注意因为第一次启动项目项目编译需要下载许多依赖包有可能十分钟无法完成项目会自动停止需要再次点击构建继续下载首次未下载好的依赖全部下载到本地之后才能构建成功。(一次下不完可以多点几次)
回滚
选择要部署的机器然后MODE选择ROLLBACK版本中选择历史构建过的版本号点击构建即可触发回滚流程。 左侧构建历史可以看到每一次的记录。 左侧打开BlueOcean可以看到更直观的流水线。 选择某一次的流水线可以看到节点的执行情况点击具体某个节点可以看到执行的命令日志。更方便我们分析问题。