网站建设分为几个时期百度指数的需求指数
标签 显示html,恩施网站建设持续集成部署 在传统软件开发过程中,代码提交后,测试或运维人员取包,部署,有时需要额外的依赖,也需要运维人员根据文档进行环境配置。这中间的沟通成本非常高,出问题的概率也很高,那么搭建一个…持续集成部署
在传统软件开发过程中,代码提交后,测试或运维人员取包,部署,有时需要额外的依赖,也需要运维人员根据文档进行环境配置。这中间的沟通成本非常高,出问题的概率也很高,那么搭建一个开发部署一体化平台就很重要了。
环境准备
本来是想云服务器部署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跑流水线,所以需要在根目录下创建这两个文件
DockerFileFROM 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
前端访问对应地址 ,能够正常访问
相关文章:
化妆品商城网站建设app推广接单网 龙华做网站 熊掌号by72777最新域名查询 校园淘宝店网站开发百度极速版 wordpress 中文插件大全惠州seo排名外包 网站多语言 设计开发app需要多少资金 开滦建设集团网站公司营销策划方案 快递建站收费标准足球排名最新排名世界 论坛做网站好吗百度一下手机版首页 怎么做提升网站转化率国内b2b十大平台排名 哪里的软件系统开发站长工具seo优化系统 昌做网站今日热点新闻头条 建设网站有哪些疫情最新政策最新消息 做网站开发的网络营销推广活动有哪些 食品网站建设日程表网络推广工作 违章搭建宝鸡seo培训 哈尔滨免费模板建站独立站 重庆网站建设招聘seo和sem的区别 南通网站推广公司seo关键词优化排名推广 青岛市规划建设局网站网站收录量是什么意思 淄博哪里有做网站的百度浏览器网址是多少 怎么做劳务公司网站无锡百度seo优化 需要注册的网站建设中央下令全国各地核酸检测 做模型的网站有哪些台湾搜索引擎 做啪啪网站必应搜索 建立网站需要多少钱稻挺湖南岚鸿有名最佳bt磁力猫 网站关键词怎么添加建网站平台 最优网络做网站怎么样客服外包 查企业信息的国家网站广告优化师工资一般多少 专业做网站费用怎样建网站平台 网页设计详细步骤青岛网站关键词优化公司