Gitlab和Jenkins集成 实现CI (三)

Gitlab和Jenkins集成 实现CI (一)
Gitlab和Jenkins集成 实现CI (二)
Gitlab和Jenkins集成 实现CI (三)

自动部署

配置免密ssh

进入http服务器

生成ssh密钥
shell 复制代码
ssh-keygen -t rsa

进入jenkins(容器)

拷贝公钥
shell 复制代码
ssh-copy-id http服务器用户名@http服务器ip
#输入http服务器密码

配置jenkis构建触发器

生成拷贝脚本
shell 复制代码
vi /var/jenkins_home/scp_dev_env.sh

#!/bin/sh

scp /var/jenkins_home/workspace/jenkins项目名称/* http服务器用户名@http服务器ip:/home/docker/www/项目根目录/
ssh http服务器用户名@http服务器ip 'composer -V' # 这里是php执行composer,如果是java可以执行maven等

# 设置执行权限
chmod +x /var/jenkins_home/scp_dev_env.sh

# 运行异常脚本,保证脚本无异常,可正常执行得到想要的结果
/bin/sh /var/jenkins_home/scp_dev_env.sh

#去http服务器根目录查看拷贝是否正确
配置构建步骤(Build Steps)

进入项目
Configure Build Steps Add build step 选择Run with timeout Run with timeout Time-out strategy 按照实际选择超时机制 Build Step 选择Execute shell Command 填写脚本路径

注意,如果无需超时设置,需要保证脚本无论执行多久一定成功,在Add build step的时候直接选择Execute shell,其他配置不变

相关推荐
明月心9527 小时前
gitlab pull requets
gitlab
BUTCHER57 小时前
GitLab基本设置
gitlab
张小凡vip10 小时前
Kubernetes---gitlab的ci/cd发布基于k8s的项目示例参考
ci/cd·kubernetes·gitlab
cuijiecheng20182 天前
GitLab创建项目
gitlab
一点事2 天前
windows:ELK搭建(单机)
windows·elk·jenkins
lcx_defender2 天前
【Docker】Docker部署运行Elasticsearch
elasticsearch·docker·jenkins
Bruk.Liu3 天前
Gitea Actions 的概念及基础使用
运维·ci/cd·持续集成
学嵌入式的小杨同学3 天前
【Linux 实战】手写 ls 命令核心功能:C 语言实现文件属性与目录遍历(附完整可运行代码)
linux·运维·服务器·c语言·chrome·后端·ci/cd
叼奶嘴的超人3 天前
手动创建Docker版Fastapi CI/CD镜像文件
ci/cd·docker·fastapi
海兰3 天前
win11下部署elastic9.0+常见问题及解决方法(续)
运维·jenkins