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

广州学建网站常山网站建设

广州学建网站,常山网站建设,可以做长页海报的网站,怎么做网站维护持续集成部署 在传统软件开发过程中,代码提交后,测试或运维人员取包,部署,有时需要额外的依赖,也需要运维人员根据文档进行环境配置。这中间的沟通成本非常高,出问题的概率也很高,那么搭建一个…

持续集成部署

在传统软件开发过程中,代码提交后,测试或运维人员取包,部署,有时需要额外的依赖,也需要运维人员根据文档进行环境配置。这中间的沟通成本非常高,出问题的概率也很高,那么搭建一个开发部署一体化平台就很重要了。

环境准备

本来是想云服务器部署gitlab,实现代码仓库,但是无奈云服务器内存有限(2核2G),扛不住压力,代码仓库就临时选择了阿里云代码托管平台,阿里云代码管理也是用git,所以本机要安装git工具
1、阿里云代码仓库
2、Jenkins部署
3、Docker
4、docker镜像仓库,这里用的阿里云镜像仓库,有条件也可以搭建自己的镜像仓库

步骤

1、阿里云代码仓库创建
阿里云托管平台

创建自己的账号和代码库,进入代码库可以看到自己仓库的http地址
仓库地址
可以在这里拉取提交代码,设置自己的密码就可以用来登录
密码管理
本地创建springboot测试项目,进入项目根目录执行命令,前提当前机器安装了git工具:

git init
git remote add origin https://账号:密码@codeup.aliyun.com/684cffe5f957ee9df43216a1/spring-test.git  指定仓库地址,链接里带上账号密码,后面就可以不用再输入了
git add .
git commit -m "第一次提交:提交MySpring项目"
git push -u origin master --force
git pull

创建springBoot项目,项目需要用docker部署,用jenkins跑流水线,所以需要在根目录下创建这两个文件
配置文件
DockerFile

FROM openjdk:8
VOLUME /tmp
COPY target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

Jenkinsfile

pipeline {agent anytools {maven 'maven' // 就是你上面填写的 Name  jenkin内部要安装maven插件}environment {IMAGE_NAME = "myapp"  // 你的项目镜像名字REMOTE_HOST = "43.138.158.212"  // 你要部署spring项目的地址REMOTE_USER = "root"   // 机器登录用户SSH_CRED_ID = "43.138.158.212"   // 部署spring项目地址IMAGE_TAG = 1.0    // 你的镜像版本}stages {stage('检查工作目录') {steps {sh 'pwd'sh 'ls -la'}
}stage('拉取代码') {steps {sh '''git pull https://260242:23456!@codeup.aliyun.com/684cffe5f957ee9df43216a1/spring-test.git  // 代码仓库地址'''}}stage('构建 Jar 包') {steps {sh 'mvn  package -DskipTests'}}stage('构建 Docker 镜像') {steps {sh "docker build -t $IMAGE_NAME:$IMAGE_TAG ."}}stage('登录并推送到阿里云镜像仓库') {steps {withCredentials([usernamePassword(credentialsId: 'aliyun-docker-kxh', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {   // aliyun-docker-kxh是你在jenkins上创建的系统凭据,是用来保存阿里云镜像仓库用户名密码的凭证script{def fullImageName = "crpi-4n3voyn8gv0cl2gd.cn-guangzhou.personal.cr.aliyuncs.com/hub/mirrors:${IMAGE_TAG}"sh """echo "$PASSWORD" | docker login crpi-4n3voyn8gv0cl2gd.cn-guangzhou.personal.cr.aliyuncs.com -u "$USERNAME" --password-stdin   // 登录阿里云镜像仓库docker tag $IMAGE_NAME:$IMAGE_TAG ${fullImageName}  // 给镜像打上tagdocker push ${fullImageName}  // 上传镜像到阿里云仓库"""}}}}stage('部署到远程服务器') {steps {withCredentials([usernamePassword(credentialsId: 'aliyun-docker-kxh', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {sshagent(["${SSH_CRED_ID}"]) {  // SSH_CRED_ID是部署spring机器的ssh私钥凭据,可以通过私钥登录你的linux机器script{def fullImageName = "crpi-4n3voyn8gv0cl2gd.cn-guangzhou.personal.cr.aliyuncs.com/erhub/mirrors:${IMAGE_TAG}"sh """ssh -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST 'docker login crpi-4n3voyn8gv0cl2gd.cn-guangzhou.personal.cr.aliyuncs.com \\-u $USERNAME -p $PASSWORD &&docker pull ${fullImageName} &&docker stop spring-test || true &&docker rm spring-test || true &&docker run -d --name spring-test -p 8089:8095 ${fullImageName}'"""}}}}
}}
}

阿里云镜像仓库创建
选择镜像服务
创建个人镜像仓库

Jenkins的安装
docker run -d  --name jenkins -p 8085:8080 -p 50000:50000 --group-add 991  -v jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock    jenkins/jenkins:lts 

本地提前装好docker就好了,执行这条命令就启动起来了
访问jenkin即可,云服务器要开放防火墙端口

http://42.195.128.222:8085/

插件安装

jenkins执行需要很多插件才能执行流水线命令,比如git、maven、docker,需要这些客户端才能执行对应命令,进入jenkins首页面就会提示你安装,选择安装就可以
后期如果发现缺失,也可以在页面上安装
在这里插入图片描述

在这里插入图片描述
选择安装即可

我这里jenkins没有docker插件,导致jenkins执行docker命令报错,进入jenkins容器安装

docker exec -it e962b11cd6b1 sh
apt-get update && apt-get install -y docker.io  执行安装命令

还有docker.sock权限问题,jenkins执行会报permission denied,这就是没有权限使用docker.socket
jenkins用户不在文件组里,可以给文件扩大权限,也可以把jenkins用户加入组里

到这里基本就安装好了

项目提交到git仓库

创建流水线

在这里插入图片描述

首页新建任务,创建新的流水线
在这里插入图片描述
配置你这个流水线代码仓库,仓库根目录下有jenkins流水线文件

凭据创建

1、git仓库凭据 凭据保存了登录信息,jenkins流水线可以直接使用,不需要暴漏用户密码
在这里插入图片描述
在这里插入图片描述
一定要选择全局系统凭据,个人用户下的凭据是找不到的,执行的时候会报错

在这里插入图片描述
创建全局凭据
在这里插入图片描述
类型是用户+密码

2、创建ssh凭据 这个是用来登录部署服务机器用的
linux机器生成公私钥

ssh-keygen -t ed25519 -C "email"
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
[root@master2 .ssh]# cat id_ed25519
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACDbn6NwiNi4NK0jYQdWCpUOIjlLjsknG7gz+6wAAAJjeoSbD3qEm
wwAAAAtzc2gtZWQyNTUxOQAAACDbn6NwiNi4NK0jqgqDHCpUOIjlLjsknG7gz+6w
AAAECVCWkwaYm9FhqSpR7d+BY8RWPg5wFUeEmeMT3jWhhQQdufo3CI2Lg0rSNhB1bSGqCo
McKlQ4iOUuOyScbuDP7rAAAAETI2MDEyNDg2MjJAcXEuY29tAQIDBA==
-----END OPENSSH PRIVATE KEY-----
[root@master2 .ssh]# 

拿到私钥,配置到ssh凭据中
在这里插入图片描述
这里填写id,id需要写道jenkins流水线配置中的 ,配置中SSH_CRED_ID变量就是这个值

完成了配置 执行流水线

在这里插入图片描述

在这里插入图片描述

服务器查看容器是否运行

docker ps -a

前端访问对应地址 ,能够正常访问
在这里插入图片描述


文章转载自:

http://37j86KU8.fpngg.cn
http://mFLhxIyB.fpngg.cn
http://dqd9GUvL.fpngg.cn
http://vXEUkQUu.fpngg.cn
http://vuvwybMR.fpngg.cn
http://FpyaEvxM.fpngg.cn
http://XICa5xQT.fpngg.cn
http://p5Ku5tEA.fpngg.cn
http://Ns3s8bvS.fpngg.cn
http://yr3xUCHo.fpngg.cn
http://PLXwKLJO.fpngg.cn
http://0IR3tveL.fpngg.cn
http://wsBiz5Hn.fpngg.cn
http://vsfP3yye.fpngg.cn
http://8Invvr45.fpngg.cn
http://EXLP3oT7.fpngg.cn
http://Z1dhDZfE.fpngg.cn
http://rP1JBA1T.fpngg.cn
http://iAoQi61o.fpngg.cn
http://LL5gT6UY.fpngg.cn
http://aYrcFGHu.fpngg.cn
http://KrCoWnfl.fpngg.cn
http://253BWCEE.fpngg.cn
http://S9M0OkIw.fpngg.cn
http://GpBmn0XI.fpngg.cn
http://avFNSPXS.fpngg.cn
http://mQAAZNzb.fpngg.cn
http://JhZFoUk1.fpngg.cn
http://uOjOY50N.fpngg.cn
http://ypHrzIqS.fpngg.cn
http://www.dtcms.com/wzjs/647384.html

相关文章:

  • 快3网站制作 优帮云小程序定制开发公司哪家好
  • 专业的网站搭建多少钱网络技术基础
  • 成都新线加网站建设未来做那些网站能致富
  • 自适应网站设计规范开发公司顶名字购买房子
  • 有哪些营销型网站衡水做wap网站的地方
  • 汽车网站方案庆阳网警
  • 网站设计师是什么专业做线上网站需要多少钱
  • 广州陈村网站建设网页设计专业开设院校
  • 深圳网站制作建设服务公司广州网站建设公司有哪些
  • 重点学科网站建设网站 信息内容建设 存在问题
  • 网站后台管理系统域名wordpress设置 vip栏目
  • 网站建设试题以及答案物流信息平台
  • 鞍山做百度网站一年多少钱wordpress docker镜像
  • 企业网站目的黄页大全有哪些
  • 律师网站建设推荐自媒体视频剪辑教学视频
  • 怎么做类似豆瓣的网站南昌网站建设公司特色
  • 购物网站开发设计思路怎么向谷歌提交网站
  • 关于文化的网站模板怎么在百度上注册店铺
  • 网站本地化怎么做直播网站建设项目策划书
  • 网页代码大全详解宁波网站优化建站公司
  • 山西建设工程备案网站wordpress安装空白页
  • 如何登陆公司网站后台宁波高端网站建设
  • 中国建设网官网网站手机h5免费模板网站模板
  • 免费网站制作模板2003建网站
  • 福州网站建设软件怎么建设网站上传音乐
  • 番禺建设网站专家茶叶网站模板
  • 做网站去哪里找软件开发文档怎么编写
  • 上海徐汇区网站建设公司慧聪网de网站建设策略
  • 自助设计网站synology wordpress
  • 做自动化设备哪个网站南京历史文化网页设计