参考文档

参考云效的官方文档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 git@gitee.com

表示成功:

Hi 黄(@allen-huang)! You’ve successfully authenticated, but GITEE.COM does not provide shell access.

验证阿里云效:

ssh -T git@codeup.aliyun.com

Welcome to Codeup, hjc_042043

三、克隆项目

以ssh的方式clone项目,以laravel项目,SLConsole为例子

git clone git@codeup.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.com"if [ ! -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 2>&1 &

将部署脚本贴到这个框里面,并把下面分批数量改成1

步骤五、发布测试

最后流水线的变成这样子了

发布完成后的

常见问题

1、部署主机

如果需要部署到多主机时,一定需要注意的是,往往我们新的服务器,是从老的服务器镜像出来的,那么老的服务器都是已经安装过runner的,所以在新服务器在安装runner时,会报错类似 instance i-uf62plfssupo4bphyucf is already registerd as an ecs runner 的错误。是说明runner已经安装,这个是因为新的服务器包含了老的runner,所以先删除这个runner。

解决:

cd root
rm -rf yunxiao

2、如果存在多个阿里云效仓库如何clone 代码

在~/.ssh/config 文件中配置了云效的多仓库

在克隆代码时,不能再使用git@codeup.aliyun.com:xxx

而是要是用:

git@[$Host]:6759813cad056eaad2a2e966/bossim

如:

git@codeup-boss-server:6759813cad056eaad2a2e966/bossim

3、代码在合并到 master 之后自动触发流水线

这个最好不要自动触发流水线,因为我们很多一些小项目都是在 master分支上开发的,所以要是每次提交 git 都触发,那是比较危险的事情,代码会自动提交到远程服务器上去了

有两种方式来处理:

方法一:

方法二,在发布时,需要去手动触发一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/916212.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916212.shtml
英文地址,请注明出处:http://en.pswp.cn/news/916212.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机是怎么控制的

单片机作为电子系统的控制核心,通过接收外部信号、执行预设程序、驱动外部设备的方式实现控制功能,其控制过程涉及信号输入、数据处理和指令输出三个关键环节,每个环节的协同配合决定了整体控制效果。 信号输入:获取外部信息 单片…

deepseek本地部署,轻松实现编程自由

小伙伴们,大家好,今天我们来实现deepseek本地部署,轻松实现编程自由!安装ollama 安装ollama 首先我们安装ollama 打开ollama官网,下载安装符合自己系统的版本。 找到要安装的模型deepseek-r1开始-运行 输入cmd出现…

基础NLP | 常用工具

编辑器 PycharmVSCodeSpyderPython 自带 ideVim 机器学习相关python框架 Pytorch 学术界宠儿,调试方便,目前的主流Tensorflow 大名鼎鼎,工程配套完善Keras 高级封装,简单好用,现已和Tensorflow合体Gensim 训练词向…

Unity3D + VR头显 × RTSP|RTMP播放器:构建沉浸式远程诊疗系统的技术实践

一、背景:远程医疗迈入“沉浸式协同”的新阶段 过去,远程医疗主要依赖视频会议系统,实现基础的远程问诊、会诊或术中指导。虽然初步解决了地域限制问题,但其单视角、平面化、缺乏沉浸感与交互性的特征,已无法满足临床…

海云安斩获“智能金融创新应用“标杆案例 彰显AI安全左移技术创新实力

近日,由中国人民银行广东省分行、广东省金融管理局、广东省政务服务和数据管理局指导,广东省金融科技协会主办的“智能金融 创新应用”优秀案例名单最终揭晓,海云安开发者安全助手系统项目凭借其创新的"AI安全左移"技术架构&#x…

Fluent许可与网络安全策略

在流体动力学模拟领域,Fluent软件因其卓越的性能和广泛的应用而备受用户青睐。然而,随着网络安全威胁的不断增加,确保Fluent许可的安全性和合规性变得尤为重要。本文将探讨Fluent许可与网络安全策略的关系,为您提供一套有效的安全…

如何借助AI工具?打赢通信设备制造的高风险之战?(案例分享)

你是否曾在项目管理中遇到过那种让人心跳加速的瞬间,当一项风险突然暴露出来时,全队似乎都屏住了呼吸?今天,我就来分享一个我亲历的项目案例,讲述我们如何借助具体的AI工具,实现从数据到决策的华丽转变&…

Web服务器(Tomcat、项目部署)

1. 简介 1.1 什么是Web服务器 Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。 Web服务器是安装在服…

list 介绍 及 底层

list的相关文档:list - C Reference 一、list的介绍及使用 list中的接口比较多,此处类似,只需要掌握如何正确的使用,然后再去深入研究背后的原理,已达到可扩展的能力。以下为list中一些常见的重要接口。我们库里的list…

HCIP MGRE实验

一、实验要求 1、R5为ISP,只能进行IP地址配置,其所有地址均配为公有Ip地址; 2、 R1和R5间使用PPP的PAP认证,R5为主认证方; R2与R5之间使用PPP的CHAP认证,R5为主认证方; R3与R5之间使用HDLC封装; 3、R2、R3构建一…

基于PyTorch的多视角二维流场切片三维流场预测模型

基于PyTorch的多视角二维流场切片三维流场预测模型 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,觉得好请收藏。点击跳转到网站。 1. 引言 计算流体动力学(CFD)在工程设计和科学研究中扮演…

全新轻量化PHP网盘搜索引擎系统源码

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 全新轻量化PHP网盘搜索引擎系统源码 基于PHPMYSQL开发 一、多样筛选功能:网站支持5类筛选功能,包括默认搜索、网盘类型、文件大小、时间排序以及网盘来源&#x…

C study notes[3]

文章目录operatonsloopsreferencesoperatons the fundamental operators such as ,-,* in C language can be simply manipulated. int sum 5 3; // sum 8 int difference 10 - 4; // difference 6 int product 6 * 7; // product 42the operator / was left to in…

练习实践-基础设施-文件共享-windows和linux之间的文件共享-smb服务搭建

参考来源: 在线书籍-linux就该这么学-第12章 安装软件包 配置文件/etc/samba/smb.conf 运维对待配置文件的态度,非必要不增加 安装完毕后打开Samba服务程序的主配置文件,好在参数并不多,只有37行。其中第17~22行代…

常用设计模式系列(十三)—组合模式

常用设计模式系列(十三)—组合模式 第一节 前言 hello大家好,今年已经过去了一半,年初立下的flag,不知道实现了没有,你的flag改了多少次?无论自己的愿望是否完成,我们都应该怀揣着追…

字节码操作工具——ByteBuddy应用(3)安全检查

一、检测方法名是否符合规范1、代码(1)MethodLoggerAgentpackage com.example.agent;import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.asm.Advice; import net.bytebuddy.matcher.ElementMatchers;import java.lang.instrument.…

NineData 数据库 DevOps 全面支持 GaussDB,国产化管理再升级!

NineData 数据库 DevOps 平台现已全面兼容 GaussDB 全线产品(包括 GaussDB 企业级、DWS 数据仓库、openGauss 开源版),实现一站式管理。无论 GaussDB 实例部署在哪个环境,企业所有开发者都可以通过 NineData 统一访问,…

C++ - 模板进阶

一、非类型模板参数模板参数 分为 类型形参与 非类型形参。 类型形参:出现在模板参数列表中,跟在 class 或者 typename 之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数…

【质量管理】软件缺陷管理实施方案(专业版)

引言 方案目标与范围 本方案以CMMI量化管理要求与ISO 9000质量体系为框架,核心目标是通过标准化缺陷管理流程实现缺陷全生命周期可控。具体包括:确保软件缺陷在全生命周期中被及时发现与修复,减少其对软件质量、发布计划及用户体验的负面影响;以“零缺陷”为首要目标,针对…

Elasticsearch 讲解及 Java 应用实战:从入门到落地

在数据量爆炸的今天,传统数据库的查询能力越来越难以满足复杂的检索需求。比如电商平台的商品搜索,需要支持关键词模糊匹配、多条件筛选、热门度排序等功能,这时候 Elasticsearch(简称 ES)就成了最佳选择。作为一款分布…