蓝鲸智云-开发篇-新手入门¶
开发系统环境说明¶
操作系统:centos7.6
本文档适用于单机部署环境,多节点部署环境会有略微变化
本地开发环境构建¶
基于 蓝鲸开发框架 2.0
上输出 Hello,World!
开发语言:
Python 3.6.X
环境准备¶
安装 Python 3.6.X、准备数据库、创建应用和准备代码仓库地址、虚拟环境(可选)
安装 Pytho36¶
下载并安装 Python 3.6.X
yum -y install python36
安装完毕后的验证
# python3.6
Python 3.6.8 (default, Nov 16 2020, 16:55:22)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
部署 Mariadb¶
数据库初始化密码:123456
创建应用¶
创建代码仓库¶
创建应用前,需提前准备代码仓库 (Git/SVN) ,推荐 Git
-
创建代码仓库
例如
GitHub
或GitLab
记录项目地址
http://192.168.1.106/zhangsan/bkce-demo.git
开发者中心创建应用¶
-
开发者中心创建应用
进入
开发者中心
-应用创建
,填写上一步获取的git
仓库地址和账号,创建成功后会获取应用 ID:{APP_CODE}
、应用 TOKEN:{SECRET_KEY}
,这两个变量后续会用到。
进入开发者中心创建应用
记录创建应用的基本信息
应用 ID:bkce-demo
应用 TOKEN:21b50b7d-518f-4c7b-b03b-1461849304f1
准备虚拟环境¶
- 修改 pip 源 (国内镜像)
mkdir -p ~/.pip/
cat >~/.pip/pip.conf<<EOF
[global]
trusted-host = pypi.tuna.tsinghua.edu.cn
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
EOF
- 安装 pipenv
pip3 install pipenv
- 创建虚拟环境
pipenv install
- 激活虚拟环境
pipenv shell
初始化开发框架¶
下载开发框架¶
- 下载开发框架
http://{PAAS_URL}/guide/newbie/#step3
{PAAS_URL}
为蓝鲸 PaaS 访问地址,例如paas.blueking.com
yum -y install wget
echo "192.168.1.1 paas.bktencent.com" >>/etc/hosts
wget http://paas.bktencent.com/download/framework_3.3.1.92.tar.gz
tar xf framework_3.3.1.92.tar.gz
- 安装框架依赖包
cd /root/framework_py
yum -y install mysql-devel python-devel
yum -y install gcc gcc-c++
yum -y install gcc libffi-devel python-devel openssl-devel libffi-dev
yum -y install python3-devel
pip3 install -r requirements.txt
开始修改配置¶
-
修改应用(SaaS)配置
修改 config/__init__.py 中的
APP_CODE
和SECRET_KEY
vim config/__init__.py
# 应用 ID
APP_CODE = "bkce-demo"
# 应用用于调用云 API 的 Secret
SECRET_KEY = "21b50b7d-518f-4c7b-b03b-1461849304f1"
-
修改 PaaS 地址
修改 config/__init__.py 中的
BK_URL
为{PAAS_URL}
vim config/__init__.py
BK_URL = "http://paas.bktencent.com"
创建和初始化数据库¶
打开 MySQL
命令行执行
mysql -p123456
CREATE DATABASE bkce_demo default charset utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON bkce_demo.* TO 'bkce_demo'@'%' IDENTIFIED BY 'bkce_demo_pass';
FLUSH PRIVILEGES;
show databases;
mysql -h 192.168.1.209 -u bkce_demo -pbkce_demo_pass -e "show databases;"
如果{APP_CODE}中包含连接符(-),需要使用反引号( ` )转译,否则会报错
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-blueking' at line 1
并修改 config/dev.py
中 DATABASES
配置项
# vim config/dev.py
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "bkce_demo", # noqa
"USER": "bkce_demo",
"PASSWORD": "bkce_demo_pass",
"HOST": "localhost",
"PORT": "3306",
},
}
- 初始化本地数据库(在工程根目录下)
python manage.py migrate
启动本地项目¶
- 先修改本地 hosts
`192.168.1.209 appdev.paas.bktencent.com
echo "192.168.1.209 appdev.paas.bktencent.com" >>/etc/hosts
- 启动项目
python manage.py runserver appdev.paas.bktencent.com:8000
- 本地访问
用浏览器访问 http://appdev.paas.bktencent.com:8000
, 就可以看到开发框架
自定义开发¶
Hello,World¶
- 修改视图 home_application/views.py
cp home_application/templates/home_application/index_home.html home_application/templates/home_application/index_home.html_backup
echo "hello world" >home_application/templates/home_application/index_home.html
- 重新
runserver
,或在Visio Studio Code
中保存会自动重新运行
python manage.py runserver appdev.paas.bktencent.com:8000
- 本地访问
用浏览器访问 http://appdev.paas.bktencent.com:8000
, 就可以看到开发框架
测试开发环境构建¶
密钥上传¶
在本地生成密钥对
ssh-keygen
一直回车即可,然后获取公钥信息
# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDxuFjnJSym4rW+FZkI6a20c2QZsnxxWFSdgcynBi72KxLgmbxlJBkVf3gYPE1EzNXLSGd585j1JVqfiJa0m5JzGQES+y1iRAUeGPDA3TpPmqEFe4H2QuRsfGeotw3bA4hiKxNfrkNVTEZz1UH6PxPrchEBahgVq+5Bs7+BtZuqKKl3HDBU11F1OS/emf4LqyDXLYossb4Hj3KE9fzabKUECUhmhGCr/QoT8hMMtvotBPFhdyewkxr7e3ZDVo1jBRCxVrLrFk0GFT4ATgnBcQG+Q1blioqdaNZH6UlvZ62vR2Ra5Ex3lMrjJJAzK9WhzT3QiRFMkMQnMsAj2ZYcnCof root@linux-bkce-node209
将公钥信息上传到gitlab
拉取gitlab代码
git clone git@192.168.1.106:zhangsan/bkce-demo.git
还原代码¶
还原蓝鲸的代码
\cp /root/framework_py/home_application/templates/home_application/index_home.html_backup /root/framework_py/home_application/templates/home_application/index_home.html
上传代码¶
将本地开发的代码上传至gitlab
yum -y install git
\cp -rf /root/framework_py/* /root/bkce-demo/
cd /root/bkce-demo/
git add ./*
git commit -m "add all"
git push origin main
检查代码是否上传到gitlab
配置数据库¶
配置测试环境的数据库配置文件
# vim config/stag.py
DATABASES.update(
{
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bkce_demo', # 数据库名
'USER': 'bkce_demo', # 数据库用户
'PASSWORD': 'bkce_demo_pass', # 数据库密码
'HOST': '192.168.1.209', # 数据库主机
'PORT': '3306', # 数据库端口
},
}
)
更新代码¶
将配置的测试环境数据库配置文件更新到gitlab
git config --global user.name "zhangsan"
git config --global user.email zhangsan@qq.com
git add config/stag.py
git commit -m "Mod config/stag.py"
git push origin main
切换环境¶
登录中控机切换开发者环境为测试环境
pcmd -H 192.168.1.1 '${CTRL_DIR}/bin/install_paasagent.sh -e ${CTRL_DIR}/bin/04-final/paasagent.env -b $LAN_IP -m test -s ${BK_PKG_SRC_PATH} -p ${INSTALL_PATH}'
检查验证是否切换成功
发布部署¶
如果以上配置没有任何错误,那么我们就可以开始部署saas应用啦
点击我的应用,选择部署
选择一键部署
开始部署中
部署成功后
点击马上访问
就可以看到蓝鲸的开发框架首页
生产开发环境构建¶
配置数据库¶
配置测试环境的数据库配置文件
vim config/prod.py
DATABASES.update(
{
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bkce_demo', # 数据库名
'USER': 'bkce_demo', # 数据库用户
'PASSWORD': 'bkce_demo_pass', # 数据库密码
'HOST': '192.168.1.209', # 数据库主机
'PORT': '3306', # 数据库端口
},
}
)
更新代码¶
将配置的正式环境数据库配置文件更新到gitlab
git add config/prod.py
git commit -m "Mod config/prod.py"
git push origin main
切换环境¶
登录中控机切换开发者环境为测试环境
pcmd -H 192.168.1.1 '${CTRL_DIR}/bin/install_paasagent.sh -e ${CTRL_DIR}/bin/04-final/paasagent.env -b $LAN_IP -m prod -s ${BK_PKG_SRC_PATH} -p ${INSTALL_PATH}'
检查验证是否切换成功
发布部署¶
选择我的应用-部署
选择正式环境,开始部署
如下是部署成功的截图
部署完毕后,返回工作台,就可以看到应用
打开这个新上线的应用
修改应用Logo¶
打开开发者中心,点击如下位置即可修改
生产开发环境更新¶
更新代码¶
修改主页代码
echo "hello world" > home_application/templates/home_application/index_home.html
将修改主页代码更新到gitlab
git add home_application/templates/home_application/index_home.html
git commit -m "Mod home_application/templates/home_application/index_home.html"
git push origin main
发布部署至测试环境¶
切换环境到测试(中控机执行)
pcmd -H 192.168.1.1 '${CTRL_DIR}/bin/install_paasagent.sh -e ${CTRL_DIR}/bin/04-final/paasagent.env -b $LAN_IP -m test -s ${BK_PKG_SRC_PATH} -p ${INSTALL_PATH}'
开始部署
部署完成截图如下:
发布部署至生产环境¶
切换环境到生产(中控机执行)
pcmd -H 192.168.1.1 '${CTRL_DIR}/bin/install_paasagent.sh -e ${CTRL_DIR}/bin/04-final/paasagent.env -b $LAN_IP -m prod -s ${BK_PKG_SRC_PATH} -p ${INSTALL_PATH}'
开始部署
部署完毕后截图如下:
打开工作台的应用效果如下: