Nginx开启Ipv6访问
配置文件 nginx.conf
中配置
1 | listen 80; |
配置文件 nginx.conf
中配置
1 | listen 80; |
1 | location /boot { |
1 | http://192.168.3.4/boot -> http://192.168.3.4/boot/ |
1 | location / { |
1 | http://192.168.3.4 |
1 | d: |
1 | if not exist "%JAVA_HOME%\bin\jps.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! & EXIT /B 1 |
Jenkins
是一款非常强大的持续集成工具
Jenkins
需要安装 Java8 or Java11
Java8
1 | sudo yum install -y java-1.8.0-openjdk-devel |
Jenkins
To use this repository, run the following command:
1 | sudo yum upgrade |
If you’ve previously imported the key from Jenkins, the rpm --import
will fail because you already have a key. Please
ignore that and move on.
The rpm packages were signed using this key:
1 | pub rsa4096 2020-03-30 [SC] [expires: 2023-03-30] |
1 | rpm -ivh jenkins-2.327-1.1.noarch.rpm |
1 | sudo systemctl start jenkins |
输入 initialAdminPassword
文件中的密码
插件管理中安装 locale
插件。
系统管理配置中找到 Default Language
= zh_CN
下载
只需要更换仓库名称:http://32.1.0.x:8081/service/rest/repository/browse/maven-snapshot/
1 | wget -m -r -e robots=off -A jar,pom,html -U mozilla http://32.1.0.x:8081/service/rest/repository/browse/maven-snapshot/ |
上传
脚本:
1 | #!/bin/bash |
执行
1 | ./mavenimport.sh admin admin http://nexus/repository/maven/ |
url
上传包到nexus
1 | curl -u "$USERNAME:$PASSWORD" -X PUT -v -T localfile ${REPO_URL}/filename |
api
1 | curl -v -u admin:admin123 -X POST 'http://localhost:8081/service/rest/v1/components?repository=maven-releases' -F maven2.groupId=com.google.guava -F maven2.artifactId=guava -F maven2.version=24.0-jre -F maven2.asset1=@guava-24.0-jre.jar -F maven2.asset1.extension=jar -F maven2.asset2=@guava-24.0-jre-sources.jar -F maven2.asset2.classifier=sources -F maven2.asset2.extension=jar |
1 | #!/bin/bash |
执行
1 | ./mavenimport.sh -u admin -p admin -r http://nexus/repository/maven/ |
NPM
1 | wget -m -r -e robots=off -A jar,pom,html,tgz -U mozilla http://32.1.0.x:8081/service/rest/repository/browse/maven-snapshot/ |
NPM
包1 | curl -v -u admin:admin -X POST "http://32.1.0.x:8081/service/rest/v1/components?repository=npm-skytech" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "npm.asset=@cordova-icon-splash/-/cordova-icon-splash-0.0.1.tgz;type=application/x-compressed" |
NPM
包脚本 npmimport.sh
1 | #!/bin/bash |
执行
1 | ./npmimport.sh admin admin http://32.1.0.x:8081 npm-hosts |
wget
1 | wget -b |
云服务器群中有只有一个服务器可以互联网访问,需要访问云上的数据库,需要通过互联网服务器代理出来临时使用。
云服务器群中,有一台服务器需要临时访问客户端本机的某个服务,比如 MySQL
数据库。
这里使用 SSH
的反向代理,把客户端本机的端口映射到服务器上。
在客户端本机执行:
1 | # 云服务器内网端口:本地IP:本地端口 互联网服务器 -p ssh端口(默认22) |
此时,本地数据库的 3306
端口就被映射到 x.x.x.x
的 3306
端口上,线上就可以直接连接了。
1 | -f 后台执行ssh指令 |
云服务器群中有只有一个服务器可以互联网访问,需要访问云上的数据库,需要通过互联网服务器代理出来临时使用。
简单来说正向代理就是:客户端A,通过互联网B主机,访问云服务器局域网C主机(B主机可以访问到C主机)。
在客户端本机执行:
1 | # 本地端口:C主机内网IP:C主机内网端口 互联网B主机 -p 互联网B主机ssh端口(默认22) |
此时,云服务器中数据库的 3306
端口就被映射到当前客户端本机的 3306
端口上,MySQL
工具直接连接 127.0.0.1:3306
就可以了。
1 | -f 后台执行ssh指令 |
JVM 在启动时会加载 JAVA_TOOL_OPTIONS 环境变量。
使用K8S 的 webhook 实现自动注入 JAVA_TOOL_OPTIONS
项目中版本发布需要做一个版本管理工具,项目使用 SpringBoot
框架。
目前有两款 liquibase
和 flyway
。
flyway
不支持并发,也就是集群项目会执行多次,进而否掉。
Liquibase
:
MySQL
, PostgreSQL
, Oracle
, Sql Server
等;author
);Spring
集成、Maven
插件等Liquibase
文件结构:
1 | databaseChangeLog |
Liquibase
使用Maven
引入1 |
|
application.yml
文件配置
1 | spring: |
Init_table.xml
文件配置
1 | <?xml version="1.0" encoding="UTF-8"?> |
注意:
ID
是唯一的,是存储数据库中判断ChangeSet
是否执行的重要依据SQL
脚本文件不应该包含schema
名称- 表、字段需要添加
remarks
注释- 已经执行的
changeSet
禁止修改,启动会报错。- 不要随便升级版本,特别是大版本。不同版本的
CHangeSet MD5SUM
算法很可能不一样。- 不要添加业务数据的修改,可能换个项目就不能用了。
1 | # 生成表结构 |