Kpmg cloud

来自ling
跳转至: 导航搜索

常用

AuthenticationController ServiceAPISecurityConfig SimpleTokenUtil

物理地址(MAC): 34-7D-F6-DD-F8-FB

http://47.117.114.44:12333/repositories/

wangbo / wangbo@Kpmg1234

http://kpmggitlab.ling2.cn/


39.98.126.59

参考选型

https://avuejs.com/views/doc.html

http://vue-admin-beautiful.com/authorization/

https://github.com/JakHuang/form-generator

https://github.com/sscfaith/avue-form-design

https://blog.csdn.net/haoaiqian/article/details/112183393

pro-table

https://jfinal.com/doc/6-1

https://ant.design/components/overview-cn/

https://procomponents.ant.design/components

https://protable.ant.design/getting-started

https://gitee.com/jeecg

http://doc.jeecg.com/2043998

http://www.jeecg.com/

https://github.com/zhangdaiscott/jeecg-boot

https://xuliangzhan_admin.gitee.io/vxe-table/#/table/start/install

基础架构和runtime

常用ibiz代码

AuthenticationController AuthorizationTokenFilter
<#assign deCodeNameCamel = srfcaseformat(de.codeName,'UC2lC')?cap_first>

低代码

https://blog.csdn.net/weixin_44046355/article/details/111596666

https://procomponents.ant.design/components/table#request

https://ant.design/components/table-cn/#components-table-demo-row-selection

核心概念

domain,label,关系,版本

命名规范

系统domain命名 非系统domain命名

错误的关键字

type,imageUrl(avue upload组件)

常用代码

列自定义渲染

 const init = async () => {
    let id = "e6d4fa84-62d7-473a-a87a-571bf2a27dd5";
    let response = await getSingleTableRenderConfig({id: id});
    if (response.success) {
      let config_ = response.data;
      // let usernameColumn = config_?.columns?.filter((_: any) => _.name == "username")[0];
      // // console.log(usernameColumn);
      // usernameColumn.renderFormItem = (item: ProColumns<any>,
      //                                  config: {
      //                                    value?: any;
      //                                    onChange?: (value: any) => void;
      //                                    onSelect?: (value: any) => void;
      //                                    defaultRender: (newItem: ProColumns<any>) => JSX.Element | null;
      //                                  },
      //                                  form: FormInstance,) => {
      //   // console.log("item:", item);
      //   // console.log("config:", config);
      //   // console.log("form:", form);
      //   // let {value} = config;
      //   // console.log(value)
      //   // //
      //   // return <Input name={item.name} value={value}/>
      //   // return <ProFormText name={item.name} initialValue={value}/>
      // },
        // console.log(config_)
      setConfig(config_);
    }
  }

公司电脑用java

set path=%path%;C:\server\soft\Git\bin;C:\server\soft\maven3\bin;C:\server\java\jdk1.8.0_241\bin
git config --system http.sslcainfo "C:\server\soft\Git\mingw64\ssl\certs\ca-bundle.crt"
git clone https://ling2:Wb191010610109@gitee.com/ling2/ling-boot.git

kpmg

set path=%path%;C:\server\soft\Git\bin;C:\server\soft\maven3\bin;C:\server\java\jdk1.8.0_241\bin
cd  c:\server
java -jar  c:\server\ling-boot-biz.jar --spring.profiles.active=dev --spring.datasource.druid.username=kpmg --server.port=5006 --reader.bookSleep=300 --reader.chapterSleep=300

服务器安装

yum install -y lrzsz

goproxy

39.98.126.59

http://39.98.126.59:32080/

curl -L https://mirrors.host900.com/https://raw.githubusercontent.com/snail007/proxy_admin_free/master/install_auto.sh | bash


cd /etc/gpa
proxy-admin update
proxy-admin update -f

openvpn

http://www.wallcopper.com/linux/3230.html

yum openvpn
cd /etc/openvpn/client
rz avpn.ibiz5.com.ovpn vpn.ibiz5.com.ca.crt
cd /etc/openvpn/client
nohup openvpn /etc/openvpn/client/avpn.ibiz5.com.ovpn  &

systemd-tty-ask-password-agent
user004_kpmgis
systemd-tty-ask-password-agent
k81kc9w5
tail -f /etc/openvpn/client/nohup.out

nginx

/alidata/dockerdata/nginx_jm/html /alidata/dockerdata/nginx_jm/logs /alidata/dockerdata/nginx_jm/conf
docker run --name nginx-jm -p 82:82 -v /alidata/dockerdata/nginx_jm/html:/usr/share/nginx/html -v /alidata/dockerdata/nginx_jm/conf/nginx.conf:/etc/nginx/nginx.conf -v /alidata/dockerdata/nginx_jm/logs:/var/log/nginx -d nginx

Nginx linux 安装

/usr/local/nginx/sbin/nginx -s stop 
rm -rf /usr/local/nginx/logs/*.log
/usr/local/nginx/sbin/nginx
#http://nginx.org/en/download.html
mkdir -p /alidata/soft
cd /alidata/soft
wget http://nginx.org/download/nginx-1.17.4.tar.gz
tar -zxvf nginx-1.17.4.tar.gz

yum -y install gcc gcc-c++ pcre-devel openssl openssl-devel
apt-get install libpcre3 libpcre3-dev libpcrecpp0v5 libssl-dev zlib1g-dev
cd /alidata/soft/nginx-1.17.4
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-stream --with-http_ssl_module
make 
make install
mkdir -p /usr/local/nginx/conf
#cp /alidata/server/nginx/conf/mime.types /usr/local/nginx/conf

查看编译结果
cd /usr/local/nginx

nginx kpmg

Https证书申请

/alidata/dockerdata/nginx/certbot-auto --nginx --nginx-server-root=/usr/local/nginx/conf
/alidata/dockerdata/nginx/certbot-auto --nginx --nginx-server-root=/usr/local/nginx/conf --no-self-upgrade
/root/certbot-auto renew

  

自动续签 执行:

crontab -e
写入:每天零点到十二点更新一次;
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && /root/certbot-auto renew

  也可以:30 2 * */2 * certbot renew –pre-hook “service nginx stop” –post-hook “service nginx start” —— 每隔两个月凌晨2:30更新:

续签完成:并显示过期时间 crontab -l 可查看任务详情;

cd /alidata/dockerdata/nginx
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

/alidata/dockerdata/nginx/certbot-auto certonly --standalone  --no-self-upgrade --email 102010cncger@sina.com -d kpmggitlab.ling.city

mv............
nginx.conf
tee /usr/local/nginx/conf/nginx.conf <<-'EOF'
user  root;
worker_processes  8;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
    resolver 114.114.114.114;
    server {
        listen       80;
        #listen       443 ssl;
        server_name  kpmggitlab.ling.city kpmggitlab.ling2.cn;
 
        charset utf-8;
 
        location / {
          proxy_pass http://127.0.0.1:70/;
          proxy_set_header   Host             cssdev.jomoo.cn;
          proxy_set_header   X-Real-IP        $remote_addr;
          proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
          client_max_body_size    1000m;
        }
        #ssl_certificate      /etc/letsencrypt/live/wiki.ling2.cn/fullchain.pem;
        #ssl_certificate_key  /etc/letsencrypt/live/wiki.ling2.cn/privkey.pem;
    }
    server {
        listen       20001;
        charset utf-8;
        location / {
          proxy_pass https://cssdev.jomoo.cn/runtimeapi/$request_uri;
          proxy_set_header Host cssdev.jomoo.cn;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header REMOTE-HOST $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          client_max_body_size    1000m;
        }
    }
    server {
        listen       20002;
        charset utf-8;
        location / {
          proxy_pass https://cssdev.jomoo.cn/cssbasicdataapi/$request_uri;
          proxy_set_header Host cssdev.jomoo.cn;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header REMOTE-HOST $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          client_max_body_size    1000m;
        }
    }
    server {
        listen       20003;
        charset utf-8;
        location / {
          proxy_pass https://cssdev.jomoo.cn/cssworkorderapi/$request_uri;
          proxy_set_header Host cssdev.jomoo.cn;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header REMOTE-HOST $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          client_max_body_size    1000m;
        }
    }
    server {
        listen       20004;
        charset utf-8;
        location / {
          proxy_pass https://cssdev.jomoo.cn/csssparepartsapi/$request_uri;
          proxy_set_header Host cssdev.jomoo.cn;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header REMOTE-HOST $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          client_max_body_size    1000m;
        }
    }
    server {
        listen       5002;
        charset utf-8;
        location /api/v3 {
           proxy_set_header   Host             cssdev.jomoo.cn;
           proxy_set_header   X-Real-IP        $remote_addr;
           proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;   
           proxy_pass http://127.0.0.1:5007;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
           client_max_body_size    1000m;
        }
        location / {
          alias /alidata/demo/davinci/webapp/build/;
          index  index.html index.htm;
        }
    }
}
EOF

开机启动

https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/


Save this file as /etc/init.d/nginx

chmod a+x /etc/init.d/nginx

tee /etc/init.d/nginx <<-'EOF'
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
   # make required directories
   user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   if [ -n "$user" ]; then
      if [ -z "`grep $user /etc/passwd`" ]; then
         useradd -M -s /bin/nologin $user
      fi
      options=`$nginx -V 2>&1 | grep 'configure arguments:'`
      for opt in $options; do
          if [ `echo $opt | grep '.*-temp-path'` ]; then
              value=`echo $opt | cut -d "=" -f 2`
              if [ ! -d "$value" ]; then
                  # echo "creating" $value
                  mkdir -p $value && chown -R $user $value
              fi
          fi
       done
    fi
}

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    sleep 1
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $prog -HUP
    retval=$?
    echo
}

force_reload() {
    restart
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac
EOF

docker安装

https://developer.aliyun.com/article/110806

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://3ue1wki2.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

mysql

docker run --name mysql5 --restart=always  -p 3306:3306 -v /alidata/dockerdata/mysqldata/mysql-kpmg-5.7:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Kpmg@1234! -d mysql:5.7.18 --lower_case_table_names=1
docker run --name mysql --restart=always  -p 3307:3306 -v /alidata/dockerdata/mysqldata/mysql-kpmg:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=Kpmg@1234! -d mysql --lower_case_table_names=1

postgresql

docker run --name=postgresql -d -p 5432:5432 --restart=always \
-v /alidata/dockerdata/postgresql/data:/var/lib/postgresql \
--env 'DB_EXTENSION=pg_trgm' \
--env 'PG_PASSWORD=Kpmg@1234!' \
sameersbn/postgresql

redis

docker run --name redis --restart=always -v /alidata/dockerdata/redis/data:/data  -p 6379:6379 -d redis redis-server --appendonly yes --requirepass Kpmg@1234!
docker run --name redisgitlab --restart=always -v /alidata/dockerdata/redis/datagitlab:/data -d redis redis-server --appendonly yes
docker exec -it redis bash
redis-cli -h 127.0.0.1 -p 6379 -a Kpmg@1234!
info clients
config set timeout 600
config set maxclients 100000

gitlab

发布账号,请自行添加权限

autosync Kpmg!1234

vi .git/config 
 docker run --name='gitlab' -d \
 --link redisgitlab:redisio \
 --link postgresql:postgresql \
 -v /alidata/dockerdata/gitlab/data:/home/git/data \
 -p 10022:22 -p 70:80 \
 -e 'DB_ADAPTER=postgresql' -e 'DB_HOST=postgresql' \
 -e 'DB_NAME=gitlab' \
 -e 'DB_USER=postgres' -e 'DB_PASS=Kpmg@1234!' \
 -e 'GITLAB_PORT=80' \
 -e 'GITLAB_SSH_PORT=10022' \
 -e 'GITLAB_HOST=kpmggitlab.ling.city' \
 -e 'GITLAB_SIGNUP=true' \
 -e 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
 -e 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \
 -e 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \
 sameersbn/gitlab

nacos

docker run -d \
-e PREFER_HOST_MODE=nacos.ling.city \
-e MODE=standalone \
-p 8848:8848 \
--name nacos \
--restart=always \
nacos/nacos-server

jenkins

Docker常用服务#Jenkins

docker run --name jenkins --restart=always -p 71:8080 -p 50000:50000 -v /alidata/dockerdata/jenkins/data:/var/jenkins_home \
-v /alidata/server/maven_repository:/alidata/server/maven_repository \
-v /alidata/server/apache-maven-3.8.3:/alidata/server/apache-maven-3.8.3 \
-v /alidata/server/java:/alidata/server/java \
-d jenkins/jenkins:lts

admin/Kpmg@1234!

zentao

mkdir -p /alidata/dockerdata/zbox && \
docker run -d -p 2080:80 -p 3308:3306 \
        -e BIND_ADDRESS="false" \
        -v /alidata/dockerdata/zbox/:/opt/zbox/ \
        --add-host smtp.exmail.qq.com:163.177.90.125 \
        --name zentao \
        idoop/zentao:latest

admin/Kpmg@1234!

xxl-job

mkdir -p /alidata/dockerdata/xxljob/applogs 
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=Kpmg@1234!" -p 3080:8080 -v /alidata/dockerdata/xxljob/applogs:/data/applogs --name xxl-job-admin  --link mysql:mysql -d xuxueli/xxl-job-admin:2.3.0

https://www.xuxueli.com/xxl-job/#2.1%20%E5%88%9D%E5%A7%8B%E5%8C%96%E2%80%9C%E8%B0%83%E5%BA%A6%E6%95%B0%E6%8D%AE%E5%BA%93%E2%80%9D

用户admin 密码123456

docker logs -f xxl-job-admin
http://39.98.126.59:3080/xxl-job-admin/

elasticsearch

 docker run -id \
--restart=always \
--name=elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-v /etc/localtime:/etc/localtime \
-e ES_JAVA_OPTS="-Xms300m -Xmx500m" \
-e "discovery.type=single-node" \
-e TZ='Asia/Shanghai' \
-e LANG="en_US.UTF-8" \
elasticsearch:7.17.0

 docker cp elasticsearch:/usr/share/elasticsearch/config/ /alidata/dockerdata/elasticsearch/config/
 docker cp elasticsearch:/usr/share/elasticsearch/data/ /alidata/dockerdata/elasticsearch/data/
 docker cp elasticsearch:/usr/share/elasticsearch/logs/ /alidata/dockerdata/elasticsearch/logs/
 docker cp elasticsearch:/usr/share/elasticsearch/plugins/ /alidata/dockerdata/elasticsearch/plugins/

docker rm -f  elasticsearch

 docker run -tid \
--restart=always \
--name=elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-v /alidata/dockerdata/elasticsearch/config/:/usr/share/elasticsearch/config/ \
-v /alidata/dockerdata/elasticsearch/data/:/usr/share/elasticsearch/data/ \
-v /alidata/dockerdata/elasticsearch/logs/:/usr/share/elasticsearch/logs/ \
-v /alidata/dockerdata/elasticsearch/plugins/:/usr/share/elasticsearch/plugins/ \
-v /etc/localtime:/etc/localtime \
-e ES_JAVA_OPTS="-Xms300m -Xmx500m" \
-e "discovery.type=single-node" \
-e TZ='Asia/Shanghai' \
-e LANG="en_US.UTF-8" \
elasticsearch:7.17.0

sudo docker exec -it elasticsearch bash

elasticsearch-plugin install http://wiki.ling2.cn/images/elasticsearch-analysis-ik-7.17.0.zip
elasticsearch-plugin install http://wiki.ling2.cn/images/elasticsearch-analysis-pinyin-7.17.0.zip
elasticsearch-plugin install http://wiki.ling2.cn/images/elasticsearch-analysis-stconvert-7.17.0.zip

exit

docker restart elasticsearch 

重建索引

kafka

docker run -d --name kafka --restart=always --publish 9092:9092 \
--link zookeeper \
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
-e KAFKA_ADVERTISED_HOST_NAME=39.98.126.59 \
-e KAFKA_ADVERTISED_PORT=9092 \
wurstmeister/kafka

apollo

http://39.98.126.59:8070 apollo/admin

https://github.com/apolloconfig/apollo/tree/master/scripts/sql

create schema apolloconfigdb collate utf8_general_ci

create schema apolloportaldb collate utf8_general_ci

https://hub.docker.com/r/apolloconfig/apollo-portal

mkdir -p /alidata/dockerdata/apollo & cd /alidata/dockerdata/apollo
git clone  https://github.com/apolloconfig/apollo-build-scripts.git
vi demo.sh 

数据库配置和下面配置

-Deureka.instance.instance-id=39.98.126.59:8080 -Deureka.instance.prefer-ip-address=true -Deureka.instance.ip-address=39.98.126.59

/alidata/dockerdata/apollo/apollo-build-scripts/demo.sh start

jdk

Linux_JDK安装及配置_(tar.gz版)

maven

Philip_one_id#mvn_prod

cd /alidata/server
sudo wget wget https://mirrors.cnnic.cn/apache/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.tar.gz
tar -zxvf apache-maven-3.8.3-bin.tar.gz
vi ~/.bashrc
以下代码下添加export

export MAVEN_HOME=/alidata/server/apache-maven-3.8.3
export PATH=$MAVEN_HOME/bin:$PATH
编译生效
source ~/.bashrc
mvn -version

上传setting.xml文件并修改为/alidata/server/maven_repository

cd /alidata/server/apache-maven-3.8.3/conf
vi setting.xml
<localRepository>/alidata/server/maven_repository</localRepository>


38迁移到251

39.98.126.59
8.142.147.251

tar -zcvf /alidata/dockerdata/gitlab.tar.gz /alidata/dockerdata/gitlab
tar -zcvf /alidata/dockerdata/jenkins.tar.gz /alidata/dockerdata/jenkins
tar -zcvf /alidata/dockerdata/zbox.tar.gz /alidata/dockerdata/zbox
tar -zcvf /alidata/server.tar.gz /alidata/server

scp /alidata/dockerdata/gitlab.tar.gz root@8.142.147.251:/alidata/dockerdata
scp  /alidata/dockerdata/jenkins.tar.gz root@8.142.147.251:/alidata/dockerdata
scp /alidata/dockerdata/zbox.tar.gz root@8.142.147.251:/alidata/dockerdata
scp /alidata/server.tar.gz root@8.142.147.251:/alidata/server

tar -zxvf  /alidata/dockerdata/gitlab.tar.gz /alidata/dockerdata
tar -zxvf  /alidata/dockerdata/jenkins.tar.gz /alidata/dockerdata
tar -zxvf  /alidata/dockerdata/zbox.tar.gz /alidata/dockerdata
tar -zxvf  /alidata/server.tar.gz /alidata

docker run --name redisgitlab --restart=always -v /alidata/dockerdata/redis/datagitlab:/data -d redis redis-server --appendonly yes

 docker run --name='gitlab_kpmg' -d \
 --link redisgitlab:redisio \
 -v /alidata/dockerdata/gitlab/data:/home/git/data \
 -p 10022:22 -p 70:80 \
 -e 'DB_ADAPTER=postgresql' -e 'DB_HOST=39.98.126.59' \
 -e 'DB_NAME=gitlab' \
 -e 'DB_USER=postgres' -e 'DB_PASS=Kpmg@1234!' \
 -e 'GITLAB_PORT=80' \
 -e 'GITLAB_SSH_PORT=10022' \
 -e 'GITLAB_HOST=kpmggitlab.ling.city' \
 -e 'GITLAB_SIGNUP=true' \
 -e 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
 -e 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \
 -e 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \
 sameersbn/gitlab:14.4.1
 
 docker run --name jenkins --restart=always -p 71:8080 -p 50000:50000 -v /alidata/dockerdata/jenkins/data:/var/jenkins_home \
-v /alidata/server/maven_repository:/alidata/server/maven_repository \
-v /alidata/server/apache-maven-3.8.3:/alidata/server/apache-maven-3.8.3 \
-v /alidata/server/java:/alidata/server/java \
-d jenkins/jenkins:lts
 
 
 mkdir -p /alidata/dockerdata/zbox && \
docker run -d -p 2080:80 -p 3308:3306 \
        -e BIND_ADDRESS="false" \
        -v /alidata/dockerdata/zbox/:/opt/zbox/ \
        --add-host smtp.exmail.qq.com:163.177.90.125 \
        --name zentao \
        idoop/zentao:latest
		
		
mkdir -p /alidata/dockerdata/xxljob/applogs 
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://39.98.126.59:3307/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=Kpmg@1234!" -p 3080:8080 -v /alidata/dockerdata/xxljob/applogs:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:2.3.0



zbox 8.142.147.251:2080
gitlab 8.142.147.251:70
xxljob 8.142.147.251:3080
jenkins 8.142.147.251:71