当前位置: 首页 > news >正文

肇庆网站建设方案360收录提交

肇庆网站建设方案,360收录提交,电商网站 收费与免费,做网站需要用到的软件Gitlab SSH Jenkins Pipeline方式部署 准备搞一搞简单部署SpringBoot项目的一种方式,通过Gitlabssh Jenkins Pipeline的方式,简单学习下。 环境准备 本地域名ip地址安装软件作用server01192.168.110.110Gitlab代码托管server02192.168.110.111Jenkins…

Gitlab SSH Jenkins Pipeline方式部署

准备搞一搞简单部署SpringBoot项目的一种方式,通过Gitlab+ssh +Jenkins Pipeline的方式,简单学习下。

环境准备

本地域名ip地址安装软件作用
server01192.168.110.110Gitlab代码托管
server02192.168.110.111Jenkins持续集成

虚拟机

静态IP

两台虚拟机设置了静态ip,防止老变更,设置了本地域名

静态IP,以192.168.110.111为例

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.110.111"
NETMASK="255.255.255.0"
GATEWAY="192.168.110.1"
DNS1="192.168.110.1"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="7db205e0-c8ad-4f4a-8375-c436cbbed3cf"
DEVICE="ens32"
ONBOOT="yes"

静态地址的ip可以自己配置,但是同一网段不能出现重复的ip,网关可以自己去宿主机看下网关的地址。

# 重启一下网络配置以生效
service network restart

本地域名

192.168.110.111为例

sudo hostnamectl set-hostname server02

在宿主机设置好域名映射,windows系统在C:\Windows\System32\drivers\etc\hosts文件中

192.168.110.110 server01
192.168.110.111 server02
  • Gitlab版本:12.3.9
  • Jenkins:2.503,依赖Java17版本
  • Git:2.41.0版本,最好把Git版本拉到2.xxx以上,否则可能出现不兼容的情况,拉取代码报错

安装Gitlab

server01机器上,直接在网上找个国内镜像加速的,速度下载,清华源Gitlab-ce(el7)

这里给个在线下载的地址,可以试试,成功率不高的话去网页下载好在整到虚拟机里面

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.9-ce.0.el7.x86_64.rpm

安装

# 安装相关依赖
yum -y install policycoreutils openssh-server openssh-clients postfix# 启动ssh服务&设置为开机启动
systemctl enable sshd && sudo systemctl start sshd# 设置postfix开机自启,并启动,postfix支持gitlab发信功能
systemctl enable postfix && systemctl start postfix# 开放ssh以及http服务,然后重新加载防火墙列表 若关闭防火墙,那么下面这三条命令不需要执行
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload# 开始安装命令
npm -ivh gitlab-ce-12.3.9-ce.0.el7.x86_64.rpm

做一些配置,端口80若是已经占用了,可以更改一下,同时nginx监听的端口也要更改:

vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.110.110:82'
nginx['listen_port'] = 82
# 使配置生效
gitlab-ctl reconfigure# 重启
gitlab-ctl restart# 防火墙端口
firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload

命令执行完毕就安装完成并且配置好了,那么可以直接通过server01:82访问了,第一次进入的时候应该需要设置新密码的,我这里已经设置过了。

在这里插入图片描述

代码准备

这个随便搞个SpringBoot的项目都可以的,来个接口就行,然后把项目上传到server01的Gitlab上。

<properties><java.version>17</java.version>
</properties>
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

java

@RestController
public class HelloController {@RequestMapping("/hello")public String hello() {return "Hello World!";}}

Gitlab添加ssh

在这里插入图片描述

使用root用户生成公钥和私钥

ssh-keygen -t rsa

在这里插入图片描述

id_rsa:私钥文件

id_rsa.pub:公钥文件

把生成的公钥放在Gitlab中

以root账户登录->点击头像->Settings->SSH Keys,复制刚才id_rsa.pub文件的内容到这里,点击"Add Key"

在这里插入图片描述

Jenkins环境准备

安装2版本的Git

最好把Jenkins的那台服务器上的Git升级为2.xx版本,因为有过踩坑经验,但好像又有点概率性,升级之后就完全不报错了。

# 先安装源
yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm# 安装git
yum install -y git

把项目传上来

在Gitlab中先将项目创建好…

在这里插入图片描述

安装

Jenkins的安装,可以用rpm包的方式,先到网上下载一个或者在线下载都可以,注意下啊,Java需要的版本是17,先安装好Java再来安装Jenkins,Jenkins依赖java环境,环境不兼容是安装不了滴。

# 提供一个下载的地址,下载不了的话就直接在页面上去下载装到虚拟机就行
wget https://mirrors.jenkins-ci.org/redhat/jenkins-2.503-1.1.noarch.rpm
# 安装一下
rpm -ivh jenkins-2.503-1.1.noarch.rpm

新版的Jenkins好像没有/etc/syscofig/jenkins这个文件了,启动的时候直接把这些配置文件放到systemctl管理的配置里面的,具体的配置地址如下:

vim /usr/lib/systemd/system/jenkins.service
# 用户
User=root
# 用户组
Group=root
# 改一下java的环境
Environment="JAVA_HOME=/usr/local/jdk/jdk-17.0.14"
# 改一下端口,不改也行
Environment="JENKINS_PORT=8888"
# 配置生效
systemctl daemon-reload# 重启jenkins
sudo systemctl restart jenkins

有防火墙关一下,不想关就把端口开一下。

firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
# 启动Jenkins即可
systemctl start jenkins# 有需要设置开机自启
systemc	enable jenkins

准备

在系统中将jdk,maven,git都下载安装完毕后,在Jenkins的插件管理中把maven和git的插件下载一下,然后把maven和git的地址在Jenkins的全局工具中配置下。

在这里插入图片描述

jdk配置

在这里插入图片描述

maven配置

在这里插入图片描述

git配置

在这里插入图片描述

把ssh在Jenkins中配置一下。

在这里插入图片描述

Jenkins Pipeline

将Pipeline插件在Jenkins中安装一下。

在这里插入图片描述

创建一个Pipeline的项目

在这里插入图片描述

流水线项目灵活度比较高,比较推荐使用。

把相关的pipeline脚本完善下

pipeline {agent anystages {stage('拉取代码') {steps {checkout scmGit(branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'ssh-auth', url: 'git@192.168.110.110:root/test110.git']])}}stage('编译构建') {steps {sh 'mvn clean package'}}stage('执行部署') {steps {sh 'cp target/test-0.0.1-SNAPSHOT.jar /root/demo/demo.jar'sh 'supervisorctl restart demo'}}}
}
  • stages:代表整个流水线的所有执行阶段。通常stages只有1个,里面包含多个stage

  • stage:代表流水线中的某个阶段,可能出现n个。一般分为拉取代码,编译构建,部署等阶段

  • steps:代表一个阶段内需要执行的逻辑。steps里面是shell脚本,git拉取代码,ssh远程发布等任意内

脚本中共写了三个stage步骤,分别将拉代码,编译,部署都进行了流水线化。

我这里直接用linux中一个进程管理工具将项目给进行管理了,个人总结的经验发现:使用nohup java -jar ...的失败率太高了,总是莫名其妙卡住或者报错…

Supervisor

做一下supervisor的配置,详细配置可以参考我的博客:linux进程管理工具supervisor详细配置。

这里简单做下配置:

yum install -y epel-release 
yum install -y supervisor
vim /etc/supervisord.conf
[include] files = supervisord.d/*.conf

/etc/supervisord.d/中创建一个demo.conf的文件,然后配置如下:

[program:demo]
command=java -jar /root/demo/demo.jar
stdout_logfile=/root/demo/logfile.log
autostart=true
autorestart=false
startsecs=5
stopasgroup=true
killasgroup=true
# 启动主程序,如果已经启动了,杀掉主进程再执行这个命令
supervisord -c /etc/supervisord.conf# 开机自启动
systemctl enable supervisord
http://www.cadmedia.cn/news/16243.html

相关文章:

  • 时时彩网站建设公司希爱力双效片的作用与功效
  • 网站建设 前后台目录结构seo教育
  • 档案网站建设经验百度站长seo
  • 装修网站建设自助建站免费建站平台
  • 中国三北防护林体系建设网站公司网络推广网站
  • 网站后期维护武汉百度推广外包
  • 为什么不推荐免费建站广州seo网站管理
  • 整站优化seo排名点击关键词优化排名seo
  • 长沙seo外包九江seo公司
  • 女子医院网站开发策略网站怎么优化排名靠前
  • 网站开发与应用案例教程网络营销的工具有哪些
  • 衡阳seoseo每日一帖
  • 我们的网站郑州网站推广效果
  • 阜南县建设局网站百度指数购买
  • 佛山做网站建设公司宁波seo外包服务平台
  • 郴州网站制作泰州seo推广公司
  • 寿光网站建设公司百度信息流推广和搜索推广
  • cms网站制作app开发用什么软件
  • 南昌建设局网站手机系统优化
  • 山东省建设建设监理协会网站安卓手机游戏优化器
  • 做网站排名赚钱吗百度导航2023年最新版
  • 平面设计师需要会什么软件seo技术团队
  • 天津特定网站建设推广最好的搜索引擎
  • 西宁网站建设制作公司快速网站
  • 网站设计与网页制作心得体会文案发布平台
  • 网站建设 小知识太原seo排名外包
  • 邢台网站建设的公司如何自己制作一个网站
  • 新闻头条免费下载安装长治网站seo
  • 免费做ppt网站河南怎样做网站推广
  • 网站建设活动网页设计制作