# 个人开发者地址备忘
# maven制品仓库
# 仓库凭证信息
该凭证信息需要设置到settings.xml
管理员账号
- 通过阿里云效查看,点击快捷导航 (opens new window)
普通用户账号
<servers>
<server>
<id>rdc-releases</id>
<username>63bfbed4b7bea95c5370baf3</username>
<password>E_BG7Vs0gKDy</password>
</server>
<server>
<id>rdc-snapshots</id>
<username>63bfbed4b7bea95c5370baf3</username>
<password>E_BG7Vs0gKDy</password>
</server>
</servers>
# 仓库发布配置
注,如果要发布制品,需要在settings.xml文件中填写仓库凭证
<distributionManagement>
<repository>
<id>rdc-releases</id>
<url>https://packages.aliyun.com/maven/repository/2211645-release-a4sdkI/</url>
</repository>
<snapshotRepository>
<id>rdc-snapshots</id>
<url>https://packages.aliyun.com/maven/repository/2211645-snapshot-8hgfr3/</url>
</snapshotRepository>
</distributionManagement>
# 制品库依赖
<repositories>
<repository>
<id>rdc-releases</id>
<name>default</name>
<url>https://packages.aliyun.com/maven/repository/2211645-release-a4sdkI/</url>
</repository>
<repository>
<id>rdc-snapshots</id>
<name>default</name>
<url>https://packages.aliyun.com/maven/repository/2211645-snapshot-8hgfr3/</url>
</repository>
</repositories>
<mirrors>
<mirror>
<id>aliyun-central</id>
<mirrorOf>central</mirrorOf>
<name>central</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
</mirrors>
# 学习类源码制品库依赖
- spring源码依赖
<dependencies>
<dependency>
<groupId>com.automannn.spring</groupId>
<artifactId>springCore</artifactId>
<version>0.0.1</version>
</dependency>
<!-- 更多依赖模块,略-->
</dependencies>
- springBoot源码依赖
<dependencies>
<dependency>
<groupId>com.automannn</groupId>
<artifactId>spring-boot</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
- springSecurity源码依赖
<dependencies>
<dependency>
<groupId>com.automannn</groupId>
<artifactId>spring-security-config</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
- springSession源码依赖
<dependencies>
<groupId>com.automannn</groupId>
<artifactId>spring-session-source</artifactId>
<version>0.0.1</version>
</dependencies>
- tomcat源码依赖
<dependencies>
<groupId>com.automannn.embed-tomcat</groupId>
<artifactId>embed-tomcat</artifactId>
<version>0.0.1</version>
</dependencies>
- SOA框架-dubbo源码依赖
<dependencies>
<groupId>com.automannn</groupId>
<artifactId>dubbo</artifactId>
<version>0.0.1</version>
</dependencies>
- 微服务框架-springCloud依赖
<dependencies>
<groupId>com.automannn</groupId>
<artifactId>spring-cloud-context-source</artifactId>
<version>0.0.2</version>
</dependencies>
<dependencies>
<groupId>com.automannn</groupId>
<artifactId>spring-cloud-commons-source</artifactId>
<version>0.0.2</version>
</dependencies>
# 研发类制品库
- 后台框架依赖
<dependencies>
<dependency>
<groupId>com.automannn.natm</groupId>
<artifactId>natm-component-security</artifactId>
<version>1.1.1.1</version>
</dependency>
</dependencies>
# CI/CD持续集成和持续部署备忘
# docker配置
- docker地址:
chenkaihai/centos-web:11
- 大小: 5G
# 启动命令
docker run --name automannn-web -p 80:80 -p 8080:8080 -p 443:443 -p 3306:3306 -it -d automannn-web:12.0
# 环境信息
jdk8
tomcat
mysql
redis
nginx
nodejs14,nodejs16 #不兼容,需要根据环境动态选择
git
maven
jenkins
# 初始化命令
# environment enable node,npm,maven
source /etc/profile
#start mysql:
/usr/local/bin/mysql-start.sh &
#start tomcat:
/apps/tomcat/bin/catalina.sh start
# start redis
/apps/redis/redis-5.0.8/src/redis-server /usr/local/redis/redis.conf
# start nginx
/usr/local/nginx/sbin/nginx
# 端口映射信息
0.0.0.0:80->80/tcp,
:::80->80/tcp,
0.0.0.0:443->443/tcp,
:::443->443/tcp,
0.0.0.0:3306->3306/tcp,
:::3306->3306/tcp,
0.0.0.0:8080->8080/tcp,
:::8080->8080/tcp
# jenkins配置
# blog任务
rm -rf /usr/local/nginx/html/blog
npm install
npm run docs:build
mv dist /usr/local/nginx/html/blog
/usr/local/nginx/sbin/nginx -s reload
# natm-admin任务
rm -rf /usr/local/nginx/html/natm
npm install
npm run build
mv dist /usr/local/nginx/html/natm
/usr/local/nginx/sbin/nginx -s reload
# generator任务
rm -rf /apps/tomcat/webapps/generator.war
mvn clean package
cd generator-starter/target/
mv generator.war /apps/tomcat/webapps
# ssoServer任务
rm -rf /apps/tomcat/webapps/ssoServer.war
mvn clean package
cd atm-sso-server/atm-sso-server-admin/target
mv ssoServer.war /apps/tomcat/webapps
# nginx配置
server{
listen 80;
server_name www.automannn.cn;
location /atm/sso/ {
proxy_pass http://www.automannn.cn:8080/ssoServer/sso/;
proxy_cookie_path /ssoServer/ /atm/sso;
}
location /atm/ {
proxy_pass http://www.automannn.cn:8080/generator/;
proxy_cookie_path /generator/ /atm;
}
location =/ {
root html;
index index.html index.htm;
if ($http_host = www.automannn.cn) {
rewrite ^(.*)$ https://www.automannn.cn/blog;
}
if ($http_host = automannn.cn) {
rewrite ^(.*)$ https://www.automannn.cn/blog;
}
if ($http_host = blog.automannn.cn) {
rewrite ^(.*)$ https://www.automannn.cn/blog;
}
if ($http_host = product.automannn.cn) {
rewrite ^(.*)$ http://www.automannn.cn/natm/;
}
}
}
server {
listen 443 ssl;
server_name www.automannn.cn;
ssl_certificate ./cert/7929866_www.automannn.cn.pem;
ssl_certificate_key ./cert/7929866_www.automannn.cn.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location =/ {
rewrite ^(.*)$ https://www.automannn.cn/blog;
}
}
# ngrok配置
# 操作说明
在linux操作系统下运行
./pre.sh
生成签名文件,用户可将NGROK_DOMAIN参数改为自己的域名来生成签名文件运行
./windows.sh
编译生成windows平台下可运行的ngrok客户端和服务器程序运行·./linux.sh·编译生成linux平台下可运行的ngrok客户端和服务器程序
运行
./clean.sh
清楚所有已经编译的信息
git clone https://gitee.com/silingyuan/ngrokchina.git #该项目已经编译好了。 ngrok的编译需要依赖go环境,且由于版本老旧,会遇到各种问题
cd ngrokchina/
vim pre.sh #设置域名
./pre.sh #生成签名
./linux.sh #生成linux的客户端及服务端
./windows.sh #生成windows平台的客户端
cd bin/linux_386/
nohup sudo ./ngrokd -domain="automannn.cn" -httpAddr=":8000" -httpsAddr=":8001" -tunnelAddr=":4443" > serOut.log & #执行服务端程序
cd bin/windows_386/
xftp:send ngrok.exe <target:localhost> #将客户端传送至本机并运行
# pre.sh
#!/bin/sh
rm -fv assets/client/tls/ngrokroot.crt device.crt assets/server/tls/snakeoil.crt assets/server/tls/snakeoil.key
export NGROK_DOMAIN="automannn.cn"
echo $NGROK_DOMAIN
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
cp -fv rootCA.pem assets/client/tls/ngrokroot.crt
cp -fv device.crt assets/server/tls/snakeoil.crt
cp -fv device.key assets/server/tls/snakeoil.key
rm -fv device.* rootCA.*
# COLA脚手架使用示例
- 在新项目中,一般建议在ide的maven插件中执行:
mvn install
,在具有私服的环境下,也可以不本地安装; - 根pom设置类型为
<packaging>pom</packaging>
- 项目源码(私有),暂不开源:
https://gitee.com/automannn/COLA.git
# 生成web项目
mvn archetype:generate -DgroupId=com.automannn -DartifactId=secKill -Dversion=0.0.1 -Dpackage=com.automannn -DarchetypeArtifactId=cola-framework-archetype-web -DarchetypeGroupId=com.automannn.cola -DarchetypeVersion=1.0.0 -DinteractiveMode=false
# 生成service项目
mvn archetype:generate -DgroupId=com.automannn -DartifactId=secKill -Dversion=0.0.1 -Dpackage=com.automannn -DarchetypeArtifactId=cola-framework-archetype-service -DarchetypeGroupId=com.automannn.cola -DarchetypeVersion=1.0.0 -DinteractiveMode=false
- 如果是单项目,则将生成的项目,整体拷贝至根项目中;如果是多项目,则不用做变动
- 根据实际情况,重命名根项目名称
# 前端脚手架的使用
npm install -g natm-cli
natm-cli -init natm-payment-admin-ui
# 中后台项目说明
- 关闭静态路由;
- 关闭postMessage特性,所有的权限都需要做控制;
- 保留views下的
auth,authority,worktable
模块
# 前台项目说明
- 开启静态路由;
- 开启postMessage特性,所有的权限都需要做控制;
- 删除views下的
auth,authority,worktable
模块