平原县网站seo优化排名,战略咨询公司排名前十,交换免费连接,商家自己做的商品信息查询网站参考文档
参考云效的官方文档https://help.aliyun.com/zh/yunxiao/
一、新建代码库
这是第一步#xff0c;和码云的差不多
二、配SSH密钥 这个和码云#xff0c;github上类似#xff0c;都需要#xff0c;云效的SSH密钥证书不是采用 RSA算法#xff0c;而是采用了ED2…参考文档
参考云效的官方文档https://help.aliyun.com/zh/yunxiao/
一、新建代码库
这是第一步和码云的差不多
二、配SSH密钥 这个和码云github上类似都需要云效的SSH密钥证书不是采用 RSA算法而是采用了ED25519 算法 步骤一、先确认下本地公钥文件是否生成
cd ~/.ssh/没有看到ed25519证书 步骤二、生成基于ED25519算法的SSH密钥
使用ssh-keygen生成证书时需要带上参数ed25519后面就一路回车下去,不用去输入密码
ssh-keygen -t ed25519 -C ali-yunxiao密钥生成在~/.ssh/id_ed25519.pub 步骤三、在云效codeup上设置公钥
进入https://codeup.aliyun.com的 个人设置把公钥拷贝进来公钥过期时间不用选择
提交 本地存在多个git平台密钥时,如何自动选择
当本地存在多个密钥如果不设置认证规则本机将随机选择一个密钥认证可能造成认证失败。因此需要把不同的密钥配置文件配置在 config文件中 验证码云
ssh -T gitgitee.com表示成功
Hi 黄(allen-huang)! You’ve successfully authenticated, but GITEE.COM does not provide shell access.
验证阿里云效
ssh -T gitcodeup.aliyun.comWelcome to Codeup, hjc_042043
三、克隆项目
以ssh的方式clone项目以laravel项目SLConsole为例子
git clone gitcodeup.aliyun.com:67f508b2228615de936e3d98/SLConsole/main.slconsole.com.git如果存在现有项目代码(注意去掉.git目录)就把代码拷贝到这个项目下面去并push上去最后在云效提交的结果是这样子的。 四、构建流水线(CI/CD)
上面建立好仓库之后就可以来创建流水线了有了CI/CD机制这样子可以很方便的来发布和回滚代码提高系统的稳定性。
步骤一、选择流水线模板 选择流水线模板这里是PHP然后点右下角的创建
步骤二、添加流水线源
这个都不用去动会默认加载仓库地址分支以及代码拉取的预存目录(工作目录) 注意这个默认是在mastert提交后自动发布到生产服务器碍于很多时候是小项目开发直接使用 master可以关闭掉开启代码源触发
这个可以根据自己实际需求来默认是开启的。 步骤三、构建PHP
这里是有测试环节先删除掉暂时不需要测试
重新创建PHP构建 不选择PHP镜像构建 先删除失效的部分
选择PHP版本因为我们用的是laravel10所以用php8.1
构建物上传 步骤四、部署主机
1. 选择制品
勾选下载制品和选择制品
2. 创建主机组
这一步很重要主要是来配置目标服务器组可以把代码发布过去服务器可以是一个或多个
主机组可以根据不同的服务器环境来配置可以是测试环境预发布环境正式环境
从服务器组点进去 选择服务器,保存
3.选择服务器组 4.部署脚本
代码在传输到服务器上时是通过打包的方式传输过来不是git的方式拉取。所以需要解压出来在执行服务。部署脚本如下
# 部署脚本会在部署组的每台机器上执行。一个典型脚本逻辑如下先将制品包在下载路径中配置的下载路径解压缩到指定目录中再执行启动脚本通常在代码中维护如示例中deploy.sh。关于这个例子的详细解释见 https://help.aliyun.com/document_detail/153848.html # tar zxvf /home/admin/app/package.tgz -C /home/admin/app/
# sh /home/admin/app/deploy.sh restart
# 如果你是php之类的无需制品包的制品方式可以使用git clone 或者 git pull将源代码更新到服务器再执行其他命令
# git clone ******.gitdir/www/wwwroot/main.slconsole.comif [ ! -d $dir ]; thenmkdir -p $dir
fitar -zxvf /home/admin/app/package.tgz -C $dir# 把项目权限改成0755所有者改成www
chmod -R 0755 $dir
chown -R www:www $dir# 进入laravel项目目录
cd $dir# 执行脚本主要预处理的脚本像composer包的安装服务启动等
/bin/bash start_service_prod.sh /www/wwwlogs/main.slconsole.com_devops.log 21 将部署脚本贴到这个框里面并把下面分批数量改成1
步骤五、发布测试 最后流水线的变成这样子了 发布完成后的 常见问题
1、部署主机
如果需要部署到多主机时一定需要注意的是往往我们新的服务器是从老的服务器镜像出来的那么老的服务器都是已经安装过runner的所以在新服务器在安装runner时会报错类似 instance i-uf62plfssupo4bphyucf is already registerd as an ecs runner 的错误。是说明runner已经安装这个是因为新的服务器包含了老的runner所以先删除这个runner。
解决
cd root
rm -rf yunxiao2、如果存在多个阿里云效仓库如何clone 代码
在~/.ssh/config 文件中配置了云效的多仓库 在克隆代码时不能再使用gitcodeup.aliyun.com:xxx
而是要是用
git[$Host]:6759813cad056eaad2a2e966/bossim
如
gitcodeup-boss-server:6759813cad056eaad2a2e966/bossim
3、代码在合并到 master 之后自动触发流水线
这个最好不要自动触发流水线因为我们很多一些小项目都是在 master分支上开发的所以要是每次提交 git 都触发那是比较危险的事情代码会自动提交到远程服务器上去了
有两种方式来处理
方法一 方法二在发布时需要去手动触发一下