archery升级【1.7.13---1.9.1】

该文详细记录了Docker环境下Archery从1.7.13版本升级到1.9.1的完整过程,包括卸载旧镜像、修改配置文件、更新数据库脚本以及重新启动服务等关键步骤,特别提到了在升级过程中遇到的错误及解决方法。
摘要由CSDN通过智能技术生成

【1.7.13】环境说明:docker安装,路径为/opt/src/Archery
因为之前升级的时候也找了网上很多的资料,发现完整升级步骤的很少,所以将升级成功的步骤放上来,但还是建议正式升级之前在相同的测试环境先测试一下步骤

1、上传安装包并解压

cd /opt/src
–上传压缩包Archery-1.9.1.tar.gz并解压
tar -zxvf Archery-1.9.1.tar.gz

2、【1.7.13】相关镜像卸载

archery inception goinception 相关的镜像删除了,其他的不要动
docker ps -a
docker stop
docker rm
docker images
docker rmi

3、参数修改

①settings.py修改,将之前【1.7.13】的配置文件移动过来
cd /opt/src/Archery-1.9.1/src/docker-compose/archery
mv settings.py settings.pybak
cd /opt/src/Archery/src/docker-compose/archery
cp settings.py /opt/src/Archery-1.9.1/src/docker-compose/archery
cd /opt/src/Archery-1.9.1/src/docker-compose/archery
vi settings.py
最后添加
REST_FRAMEWORK = {
“DEFAULT_SCHEMA_CLASS”: “drf_spectacular.openapi.AutoSchema”,
“DEFAULT_RENDERER_CLASSES”: (“rest_framework.renderers.JSONRenderer”,),
# 鉴权
“DEFAULT_AUTHENTICATION_CLASSES”: (
“rest_framework_simplejwt.authentication.JWTAuthentication”,
“rest_framework.authentication.SessionAuthentication”,
),
# 权限
“DEFAULT_PERMISSION_CLASSES”: (“sql_api.permissions.IsInUserWhitelist”,),
# 限速(anon:未认证用户 user:认证用户)
“DEFAULT_THROTTLE_CLASSES”: (
“rest_framework.throttling.AnonRateThrottle”,
“rest_framework.throttling.UserRateThrottle”,
),
“DEFAULT_THROTTLE_RATES”: {“anon”: “120/min”, “user”: “600/min”},
# 过滤
“DEFAULT_FILTER_BACKENDS”: (“django_filters.rest_framework.DjangoFilterBackend”,),
# 分页
“DEFAULT_PAGINATION_CLASS”: “rest_framework.pagination.PageNumberPagination”,
“PAGE_SIZE”: 5,
}

②docker-compose.yml修改
vi /opt/src/Archery-1.9.1/src/docker-compose/docker-compose.yml
把mysql redis相关的删除了


- “./archery/settings.py:/opt/archery/local_settings.py”
修改为(这个是根据【1.7.13】的配置文件修改的)
- “./archery/settings.py:/opt/archery/archery/settings.py”

将下面的添加到最后两行
environment:
NGINX_PORT: 9123

③将之前1.7.13的配置文件移动过来
cd /opt/src/Archery-1.9.1/src/docker-compose/mysql
mv my.cnf my.cnfbak
cd /opt/src/Archery/src/docker-compose/mysql
cp my.cnf /opt/src/Archery-1.9.1/src/docker-compose/mysql

cd /opt/src/Archery-1.9.1/src/docker-compose/inception
修改config.toml参数
根据官方文档修改:https://hanchuanchuan.github.io/goInception/zh/

4、开始升级-------------------------------------------------

1、安装镜像
cd /opt/src/Archery-1.9.1/src/docker-compose
docker-compose -f docker-compose.yml up -d
2min左右

2、sql执行
docker exec -it archery /bin/bash
source /opt/venv4archery/bin/activate
①python manage.py dbshell < src/init_sql/v1.7.1_v1.7.2.sql
②python manage.py dbshell < src/init_sql/v1.7.2_v1.7.3.sql
会报错,解决方式:
进入archery的数据库,单独执行SQL

– SQL上线工单增加需求链接
ALTER TABLE sql_workflow modify demand_url varchar(500) NOT NULL DEFAULT ‘’ COMMENT ‘需求链接’;

– 增加事务查看权限
set @content_type_id=(select id from django_content_type where app_label=‘sql’ and model=‘permission’);
INSERT IGNORE INTO auth_permission (name, content_type_id, codename) VALUES (‘查看事务信息’, @content_type_id, ‘trx_view’);

③python manage.py dbshell < src/init_sql/v1.7.4_v1.7.5.sql
会报错,解决方式:
进入archery的数据库,单独执行SQL
ALTER TABLE archive_config RENAME TO archive_config20230130;
ALTER TABLE archive_log RENAME TO archive_log20230130;
python manage.py dbshell < src/init_sql/v1.7.4_v1.7.5.sql

④python manage.py dbshell < src/init_sql/v1.7.6_v1.7.7.sql
会报错,解决方式:
进入archery的数据库,单独执行SQL
ALTER TABLE sql_users_resource_group modify users_id int(11) NOT NULL COMMENT ‘用户’;
ALTER TABLE sql_users_resource_group modify resourcegroup_id int(11) NOT NULL COMMENT ‘资源组’;
ALTER TABLE sql_instance_resource_group modify resourcegroup_id int(11) NOT NULL COMMENT ‘资源组’;
ALTER TABLE sql_instance_instance_tag modify instancetag_id int(11) NOT NULL COMMENT ‘关联标签ID’;
ALTER TABLE sql_instance modify db_name VARCHAR(64) NOT NULL DEFAULT ‘’ COMMENT ‘数据库’;

⑤python manage.py dbshell < src/init_sql/v1.7.7_v1.7.8.sql
会报错,解决方式:
进入archery的数据库,单独执行SQL
alter table sql_users modify feishu_open_id varchar(64) not null default ‘’ comment ‘飞书OpenID’;
alter table resource_group modify feishu_webhook varchar(255) not null default ‘’ comment ‘飞书webhook地址’;

⑥python manage.py dbshell < src/init_sql/v1.8.3.sql
⑦python manage.py dbshell < src/init_sql/v1.8.4.sql
⑧python manage.py dbshell < src/init_sql/v1.9.0.sql

5、应用SQL变更

python manage.py migrate
2min左右

6、重新启动

docker-compose -f docker-compose.yml restart
登录检查
升级完成!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值