如何使用ChatGPT协助Jenkins部署前后端项目Java Vue

探索ChatGPT,协助工作学习创作。公众号「阿杰与AI」一同探讨,一同成长,比他人更进一步。

现在主流方向应该是Git服务器 + Jenkins服务器 + Docker持续化集成,但是因为Docker有一定的学习成本很多人也就没有增加Docker,我们先使用非Docker方式部署一套,然后再加入Docker对比一下方便程度。

依赖

Git 、Jenkins 、Docker

1-6都是通用配置,这些应该没有什么问题,不再讲述,可以从网上找到很多图文步骤,具体从7配置项目开始

1-6通用配置

  • 登录服务器
  • 服务器安装Git
  • 服务器安装Jenkins
  • 初始化Jenkins
  • Jenkins安装插件
  • Jenkins中创建项目

7.配置项目

丢弃旧构建

设置Git参数
  • 需要提前安装插件git parameterized

设置git地址 这里需要注意/master 还是main*

凭证设置 Credentials

Git设置中 Credentials 选择Add添加凭证 选择SSH Username with private Key

输入公钥即可

构建方式(前端忽略Maven,前端直接使用shell)

使用maven 直接构建 clean后 package

然后再运行脚本将52服务器的打包后数据scp到51服务器,并运行

starttime=$(date +%Y-%m-%d\ %H:%M:%S)
echo "star Time: ${starttime}"
echo sync jarscp ruoyi-admin/target/ruoyi-admin.jar root@192.168.0.11:/home/crm/ssh root@192.168.0.51  "cd /home/crm;  sh start.sh"# 获取结束时间
endtime=$(date +%Y-%m-%d\ %H:%M:%S)
echo "End Time: ${endtime}"# 计算使用时间差
start_seconds=$(date --date="${starttime}" +%s)
end_seconds=$(date --date="${endtime}" +%s)
total_seconds=$((end_seconds - start_seconds))# 输出总共使用的时间
echo "Total Time: ${total_seconds} seconds"

前端打包脚本,在Jenkins机器上打包完后将dist.zip文件传输到测试服务器上,运行脚本解压。

starttime=$(date +%Y-%m-%d\ %H:%M:%S)
echo "star Time: ${starttime}"
echo "开始构建"npm installnpm run build:dev# 传输
scp dist.zip root@192.168.0.51:/home/web# 运行脚本
ssh root@192.168.0.51  "cd /home/crm_web;  sh start.sh"# 获取结束时间
endtime=$(date +%Y-%m-%d\ %H:%M:%S)
echo "End Time: ${endtime}"# 计算使用时间差
start_seconds=$(date --date="${starttime}" +%s)
end_seconds=$(date --date="${endtime}" +%s)
total_seconds=$((end_seconds - start_seconds))# 输出总共使用的时间
echo "Total Time: ${total_seconds} seconds"

解压脚本start.sh

rm -rf ./crm-admin-vue/*
rm -rf ./crm-admin-vue/.*unzip dist.zip -d ./crm-admin-vue/#重启nginx# /usr/local/nginx/sbin/nginx -s reload

飞书消息通知

文档地址:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/bot-v3/bot-overview

使用机器人推送

步骤

1.创建自己应用机器人,获取 AppIDApp Secret

2.通过自建机器人,获取tenant_access_token。

3.发送消息,使用tenant_access_token鉴权

自建应用获取 tenant_access_token
  1. 登录开发者后台。

  2. 在企业自建应用列表中,点击指定应用,进入应用详情页。

  3. 进入 凭证与基础信息 页面,在 应用凭证 处,获取 AppIDApp Secret

  4. 调用自建应用获取 tenant_access_token接口,获取自建应用的

    1. tenant_access_token。 https://open.feishu.cn/document/ukTMukTMukTM/ukDNz4SO0MjL5QzM/auth-v3/auth/tenant_access_token_internal
    2. POST
      /open-apis/auth/v3/tenant_access_token/internal
      请求
      {"app_id": "123","app_secret": "12131"
      }
      响应
      {"code": 0,"expire": 4549,"msg": "ok","tenant_access_token": "t-12121"
      }
      CURL方式curl 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal' \-H 'Content-Type: application/json; charset=utf-8' \-d '{"app_id": "123","app_secret": "123"}'
      {"code":0,"expire":3949,"msg":"ok","tenant_access_token":"t-123"}%
      
  5. 发送消息

    1. POST
      /open-apis/im/v1/messages{"receive_id": "发送给谁","msg_type": "interactive","content": "{"type": "template", "data": { "template_id": "模版ID", "template_variable": {"project_name": "项目名称","time": "2020-02-02 09:09","person": "at测试<at id=xxx></at>"} } }"
      }
      

使用webhook机器人

邀请自定义机器人入群

进入你的目标群组,打开会话设置,找到群机器人,并点击添加机器人,选择自定义机器人加入群聊。

为你的机器人输入一个合适的名字和描述,也可以为机器人设置一个合适的头像,然后点击下一步。

配置 webhook

你会获取该机器人的 webhook 地址,格式如下:

https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx

请妥善保存好此 webhook 地址,不要公布在Gitlab、博客等可公开查阅的网站上,避免地址泄露后被恶意调用发送垃圾消息

调用webhook发送消息

用任意方式向该 webhook 发起 HTTP POST 请求,即可向这个自定义机器人所在的群聊发送消息。

注意: 你需要一定的服务端开发基础,通过服务端请求方式调用webhook地址。 以curl指令为例,请求示例如下:

curl -X POST -H "Content-Type: application/json" \
-d '{"msg_type":"text","content":{"text":"request example"}}' \
https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx 

你可以把上述指令复制到 macOS系统的“终端”应用(或Windows系统的“控制台”应用)中进行测试。

请将上述代码中 https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx 更换为真实webhook的地址。 若测试出错,请先检查复制的指令是否和测试指令结构一致。

请求成功,返回体为:

{"code": 0,"msg": "success","data": {},"Extra": null,//冗余字段,用于兼容存量历史逻辑,不建议使用"StatusCode": 0,//冗余字段,用于兼容存量历史逻辑,不建议使用"StatusMessage": "success"//冗余字段,用于兼容存量历史逻辑,不建议使用
}

请求体格式错误,返回体如下。请检查:

  • 请求体内容格式是否与各消息类型的示例代码一致
  • 请求体大小不能超过20k
{
"code": 9499,
"msg": "Bad Request",
"data": {}
}

完整脚本python

import sys
import requests
import datetime# 其他方法的定义...
APP_ID = '13242323'
APP_SECRET = '23232323'
TEMPLATE_ID = '23232323'
time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")# 获取用户
def get_user_at(build_user, is_group):at = ""if is_group:if build_user == "张三":user = "张三,李四,王五"elif build_user == "李四":user = "张三,李四,王五"elif build_user == "王五":user = "张三,李四,王五"else:user = "张三,李四,王五"  # 设置默认值为空字符串at = format_user_at(user)else:at = format_user_at(build_user)return at# 格式化
def format_user_at(user_string):user_list = user_string.split(',')at = ""for user in user_list:openid = get_user_openid(user)at += f"<at id={openid}></at> "return at.strip()# openID
def get_user_openid(build_user):if build_user == "张三":at = "xxx"elif build_user == "李四":at = "xdddd"return at# 获取token
def get_tenant_access_token():url = 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal'headers = {'Content-Type': 'application/json; charset=utf-8'}data = {"app_id": APP_ID,"app_secret": APP_SECRET}response = requests.post(url, headers=headers, json=data)response_json = response.json()if response_json['code'] == 0:tenant_access_token = response_json['tenant_access_token']return tenant_access_tokenelse:error_message = response_json['msg']raise Exception(f"Failed to retrieve tenant_access_token. Error: {error_message}")# 发送消息
def send_message(token, receive_id, project_name, at_body ,is_group):type = 'chat_id' if is_group else 'open_id'url = 'https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type='+ typeheaders = {'Content-Type': 'application/json; charset=utf-8','Authorization': 'Bearer ' + token}data = {"receive_id": receive_id,"msg_type": "interactive","content": "{"type": "template", "data": { "template_id": "" + TEMPLATE_ID + "", "template_variable": {"project_name": "" + project_name + "","time": "" + time + "","person": "" + at_body + ""} } }","uuid": ""}response = requests.post(url, headers=headers, json=data)response_json = response.json()print(response_json)if response_json.get('code') == 0:print("Message sent successfully.")else:error_message = response_json.get('msg')raise Exception(f"Failed to send message. Error: {error_message}")def main():# 设置相关变量...create_user = sys.argv[1]project_name = sys.argv[2]# 调用函数获取 tenant_access_tokentry:# 获取TOKENtoken = get_tenant_access_token()print("tenant_access_token:", token)# 1 发送到群 chatIDreceive_id = 'oc_1212121'#群AT_BODY = get_user_at(create_user, True)send_message(token, receive_id, project_name, AT_BODY, True)# 2 发送到个人 openIDreceive_id = get_user_openid(create_user)AT_BODY = get_user_at(create_user, False)send_message(token, receive_id, project_name, AT_BODY, False)except Exception as e:print("Error:", str(e))if __name__ == "__main__":main()
python message_sender.py 张三 项目名称

步骤总结

1. 安装Jenkins:您需要在您的服务器或本地机器上安装Jenkins。您可以从Jenkins官方网站(https://www.jenkins.io/)下载适合您操作系统的安装程序,并按照说明进行安装。2. 配置Jenkins:一旦安装完成,您可以通过在浏览器中输入Jenkins的URL来访问Jenkins的Web界面。配置账号密码权限。3. 安装所需插件:通用插件和特定插件例如Git Git Parameter Plug-In maven build user vars plugin4. 创建一个新的Jenkins任务5. 配置:丢弃旧构建,设置Git参数插件参数 GIT_BRANCH ${GIT_BRANCH} 源代码管理- 注意事项main master git凭证公钥还是私钥,公开的仓库用公钥,私有仓库用私钥
6. 配置构建步骤:使用Maven构建并指定您要执行的Maven命令(例如clean package)。这里是后端 前端不需要这些东西- 需要配置全局配置地址         
7. 配置构建后操作:-        方式一:scp把压缩包放到服务器上,运行服务器脚本解压运行项目- 方式二:使用Docker镜像传递,再去服务器拉取镜像运行
8.飞书通知添加机器人,通知消息,设置消息模版机器人分webhook和应用机器人,应用机器人需要用key secret去获取token webhook直接post请求即可脚本解析,通过创建人发送到脚本,根据创建人去获得openID,使用机器人发送到个人,同时发不到群并且 AT

以下是我遇到问题后使用ChatGPT解决的方式

1.服务器连接没有设置公钥,询问如何设置公钥访问

问:用账号密码链接上之后 如何添加公钥到服务器

答一旦通过用户名和密码连接到服务器,您可以按照以下步骤将您的公钥添加到服务器上:

  1. 在您连接到服务器的终端中,运行以下命令来创建SSH目录(如果尚不存在):
  2. mkdir -p ~/.ssh
  3. 运行以下命令将您的公钥内容添加到~/.ssh/authorized_keys文件中:
  4. echo “YOUR_PUBLIC_KEY_CONTENT” >> ~/.ssh/authorized_keys
  5. 在上面的命令中,将YOUR_PUBLIC_KEY_CONTENT替换为您的公钥内容。您可以直接粘贴整个公钥内容,并确保整个公钥都被引号包围。
  6. 例如:
  7. echo “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCx9Ck0… [公钥的其余部分]” >> ~/.ssh/authorized_keys
  8. 运行以下命令以确保~/.ssh/authorized_keys文件具有正确的权限:
  9. chmod 600 ~/.ssh/authorized_keys
  10. 这将设置authorized_keys文件的权限,以确保只有所有者(您)具有读写权限。
  11. 现在,您的公钥已成功添加到服务器的authorized_keys文件中,允许您使用SSH密钥进行身份验证。
  12. 您可以尝试从另一个终端或窗口使用SSH密钥连接到服务器,这次将不再需要使用用户名和密码。
  13. ssh username@server_ip_address
  14. 替换username为您的用户名,server_ip_address为服务器的IP地址或主机名。
  15. 如果您的SSH密钥配置正确,并且服务器上的authorized_keys文件包含您的公钥,您将无需输入密码即可连接到服务器。

请注意,添加公钥到服务器时,请确保您在控制台的安全环境下进行操作,并确保仅将正确的公钥添加到服务器上。

2.没有安装Git,安装Git

问:centos 安装git

答:在CentOS上安装Git,您可以按照以下步骤进行操作:

  1. 打开终端。
  2. 运行以下命令以更新系统软件包:
  3. sudo yum update
  4. 运行以下命令以安装Git:
  5. sudo yum install git
  6. 在安装过程中,您可能需要输入您的用户密码以授予管理员权限。然后,系统将自动下载和安装Git软件包。
  7. 完成安装后,运行以下命令以验证Git安装:
  8. git --version
  9. 如果一切顺利,您将看到安装的Git版本号。

3.查看服务器是否安装Jenkins

问:如何查看服务器是否安装Jenkins

答:运行以下命令来检查是否安装了Jenkins

systemctl status jenkins

如果Jenkins已经安装在服务器上,命令的输出将提供有关Jenkins服务的状态信息,包括正在运行的进程信息和服务状态。

如果Jenkins未安装,则会显示相应的错误信息或提示。

如果您无法使用 systemctl 命令,您可以尝试以下替代方法之一:

service jenkins status

ps -ef | grep jenkins

这些命令将提供类似的信息,以判断Jenkins是否已安装并正在运行。

请注意,上述命令需要具有足够的权限才能执行。如果您无法检查Jenkins的安装状态,请与服务器管理员或负责维护该服务器的人员联系以获取支持。

另外,您还可以尝试通过在Web浏览器中访问服务器的Jenkins地址(默认为 http://server_ip_address:8080)来确认Jenkins是否安装在服务器上。如果成功访问Jenkins的Web界面,则表明Jenkins已经安装并运行。

4.获取服务器公钥

cat ~/.ssh/id_rsa.pub查询后发现没有生成SSH密钥对。

问:CentOS服务器上如何生成SSH密钥对

答:要在服务器上生成SSH密钥对,您可以按照以下步骤操作:

  1. 连接到您的服务器。例如,在命令行中运行以下命令:
  2. ssh user@server_ip_address
  3. 将 “user” 替换为您的用户名,“server_ip_address” 替换为服务器的IP地址或主机名。根据您的服务器配置和访问权限,您可能需要提供用户密码或SSH密钥来进行身份验证。
  4. 连接成功后,在服务器上运行以下命令来生成SSH密钥对:
  5. ssh-keygen -t rsa -b 4096
  6. 这将提示您选择密钥文件的保存路径和名称。如果您不需要更改默认路径和名称,可以直接按Enter键继续。否则,根据需要提供新的路径和名称。
  7. 在提示符下,您可以选择是否为密钥对设置密码。设置密码可以增加安全性,但在每次使用密钥时都需要输入密码。如果您选择设置密码,请提供一个安全且易于记住的密码,并确保妥善保管。
  8. 完成上述步骤后,将会生成SSH密钥对。私钥文件的默认路径是 ~/.ssh/id_rsa,而公钥文件的默认路径是 ~/.ssh/id_rsa.pub
  9. 您可以使用以下命令查看公钥的内容:
  10. cat ~/.ssh/id_rsa.pub
  11. 将公钥内容复制到剪贴板,并在需要的地方使用它,例如添加到其他服务器的 “authorized_keys” 文件中。

请注意,上述步骤中的 ~/.ssh/id_rsa~/.ssh/id_rsa.pub 是默认的SSH密钥路径和文件名。如果您希望使用不同的密钥文件或自定义路径,请相应地更改命令中的文件路径和名称。

希望这可以帮助您在服务器上生成SSH密钥对!

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

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

相关文章

分享六款原型设计软件,交流协作更便捷

今天主要是一个盘点集合&#xff0c;针对近些年对于设计软件方面的迅速发展&#xff0c;比较值得关注的设计工具&#xff0c;有需要或感兴趣的就接着往下看吧。 1.Pixso Pixso与下面这些软件相比&#xff0c;算是出现的比较晚的&#xff0c;但是根据我这段时间的实际使用体验&…

心形代码

心形小代码&#xff0c;需要拿走 import math i,j(3,3) while i ! 0:print(" "*6" "" " * (i - 1) "**" " " * abs(i - j) "*" " " * (4 * i1) "*" " " * abs(i - …

Java代码输出心形图案

初学编程的小伙伴肯定有过这样一个想法&#xff0c;就是我能不能利用代码来输出一个特定的图案呢&#xff1f;比如一个爱心&#xff1f;那必然是可以的&#xff0c;代码能实现的功能很多&#xff0c;这只是其中的一小小用法。以下是思路与代码。 方法一 暴力解法&#xff1a; …

马斯克打了个响指,推特50%员工被裁....

前几天Twitter被收购后要裁员的靴子终于落地了&#xff0c;这次裁员注定要记录史册&#xff0c;堪称惊天地泣鬼神。 我们一起看看马斯克给推特员工准备的裁员方案&#xff1a; 不知道大家看完后什么感想&#xff0c;反正洋哥看完后已经为马斯克拍案叫绝了。 **我简单翻译下&a…

马斯克解雇 Twitter 首席工程师,只因不愿被指“过气”!

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 最近这几周&#xff0c;马斯克可能有点“心烦”。 烦要亲自下场测试 Twitter 功能&#xff0c;烦每周要工作 120 个小时&#xff0c;还要烦特斯拉“秘密宏图的第三篇章”……终于&#xff0c;眼看着…

外媒爆料:PS5将在2019年之后发售,是一次真正的更新换代!

关于索尼的下一代新主机传闻近期层出不穷&#xff0c;并且很多消息都表示它将会在2018年底或者2019年发售。不过&#xff0c;根据消息一直很准确的知名媒体 Kotaku 爆料&#xff0c;索尼确实正在筹备全新的主机&#xff0c;但不会在近期发售。在报道中 Kotaku 表示&#xff0c;…

性能评测|影驰RTX4090金属大师系列显卡正式发售!

未来已至,影驰RTX4090金属大师系列显卡正式上线! 前不久,影驰RTX4090 星曜/金属大师系列显卡跨时代亮相,见证新一次历史变革,如今,它来了。 新一代RTX40系列显卡采用NVIDIAAda Lovelace架构,全新TSMC定制4N工艺,专为GPU优化,能够实现高达2倍的性能功耗比飞跃;依靠RTX40系GPU强…

2020亚洲品牌500强榜单发布 ;肯德基中国门店将限时发售植物肉汉堡 | 美通企业日报...

今日看点 2020亚洲品牌500强榜单发布&#xff0c;阿里巴巴、华为、中国工商银行、腾讯、丰田、中国平安、三星、中国建设银行、索尼、中国人寿荣登“2020亚洲品牌500强”Top10。“2020亚洲品牌500强”榜单作为第15届亚洲品牌盛典的重要成果&#xff0c;在“第15届亚洲品牌盛典”…

rgb sw 线主板接口在哪_光有RGB还不够,显卡竖装才更显高大上,酷冷TD500机箱装机...

现在装机,如是要没有RGB元素的话,那根本就不值得去秀。一般来说越高大上的硬件,RGB元素也就越丰富,当然CPU肯定要除外了,毕竟它是一个特殊的存在。也许那一天就像显卡一样,所有的CPU都集成在主板上,也不算是新鲜的事情。 记得当年,为了让主机显得特别,个性一些,就给机…

iNFTnews丨研究报告:国内NFT发售平台盘点及分析

作者 | BoweniNFTnews.com ZhourxiNFTnews.com 自从2021年NFT的发展浪潮席卷国内&#xff0c;大型科技公司纷纷进军NFT领域&#xff0c;如百度、阿里巴巴、腾讯、京东等大厂&#xff0c;在它们的领头下&#xff0c;市场迅速升温&#xff0c;国内NFT数字藏品平台井喷式爆发&…

Dataset:智慧中国杯—全国大数据创新应用大赛七个数据集简介、下载之详细攻略

Dataset&#xff1a;智慧中国杯—全国大数据创新应用大赛七个数据集简介、下载之详细攻略 目录 智慧中国杯—全国大数据创新应用大赛简介 全国大数据创新应用大赛七个数据集下载 智慧中国杯—全国大数据创新应用大赛简介 智慧中国杯”全国大数据创新应用大赛由“算法资格赛”…

必看·2021中国NFT数字藏品报告总结

随着数字藏品&#xff08;NFT&#xff09;市场火热&#xff0c;发行平台如雨后春笋般陆续出现&#xff0c;据扇贝科技不完全统计&#xff0c;2021年国内数字藏品&#xff08;NFT&#xff09;发行平台多达 38家。 按照藏品的发行质量、数量、平台流量、藏品文化内涵、区块链技术…

鲸探发布点评:7月26日发售

今天鲸探将发3款藏品&#xff1a;《黄河黄河九曲十八弯》、《从杰克岛看塞纳河》、《安涅尔浴场》数字藏品。发行价格18&#xff0c;发行数量10000*3。 《黄河九曲十八弯》以文件夹的形式发售&#xff0c;里面包含多款藏品。这个系列的作品是由中国黄河文化经济发展研究会发起&…

CnOpenData中国理财产品数据

中国理财产品数据 一、数据简介 随着居民财富的增加&#xff0c;投资理财成为居民增加收入的重要方式&#xff0c;银行理财产品、保险产品、公募基金成为居民资产配置的主要方向。理财是指以实现财务的保值、增值为目的&#xff0c;对财务&#xff08;财产和债务&#xff09;进…

《达梦数据库运维实战》 发售了

毕业以后一直从事数据库有关的工作&#xff0c;也一直在坚持技术分享&#xff0c;写了很多的博客&#xff0c;但博客有一定的局限性&#xff0c;所以这几年陆续出版了几本书&#xff0c;2019年和2020年写了2本Oracle 数据库有关的书籍&#xff0c;如下: 《Oracle 18c 必须掌握的…

国行switch服务器在维护中,国行Switch是否锁区锁服?你关心的问题都将在这里解答...

国行Nintendo Switch已于今日(12月10日)正式发售&#xff0c;我们已经拿到国行Switch&#xff0c;并对一些备受关注的问题进行了验证&#xff0c;要点如下&#xff1a; • 国行Switch可以玩海外版卡带&#xff0c;海外版游戏也可以正常更新补丁。 • 国行Switch只能用微信扫码登…

中国工程院院士、中国人工智能学会理事长李德毅:人工智能研究新进展

7 月 22 - 23 日&#xff0c;由中国人工智能学会、阿里巴巴集团 & 蚂蚁金服主办&#xff0c;CSDN、中国科学院自动化研究所承办的第三届中国人工智能大会&#xff08;CCAI 2017&#xff09;将在杭州国际会议中心盛大开幕。 作为中国国内高规格、规模空前的人工智能大会&am…

三星手机在中国市场大势已去?

导读同样的事情,面对不同的对象会出现两种完全不同的结果。爆炸门之后的三星就用切身表现为我们证明了这句话的正确。近日,继临阵换帅之后,三星中国再度传出坏消息。有消息称中国三星电子将撤销七大支社,内部机构将进行重大变革。改编之后,七大支社将变为26个办事处。常务…

新iPad中国发售风光不在的十大原因

曾经的苹果新品发售现场&#xff0c;人头攒动&#xff0c;争先恐后&#xff0c;可谓风光无限。然而&#xff0c;最近的New iPad在中国上市&#xff0c;却显得略微冷清&#xff0c;风光不在&#xff0c;虽没到“门前冷落鞍马稀”的地步&#xff0c;但至少很难用“异常火爆”之类…

在OpenSea上发售NFT

1. 打开opensea.io&#xff0c;链接Metamask钱包。 2. 在首页&#xff0c;点击创建Collection。 3. 添加NFT作品封面Logo、名称及描述&#xff0c;点击创建。 4. 点击进入Collection&#xff0c;添加Item。 5. 点击添加文件、填写作品名称、详情页、描述和特征&#xff0c;点击…