腾讯云【燎原社】是腾讯云原生面向广大企业CTO、技术团队Leader、核心开发运维技术,打造的云原生全栈化交流&云原生技术应用实战的交流平台项目,意在助力解决企业云原生改造最后一公里问题。目前腾讯云【燎原社】已经推出云原生高端闭门会、云原生技术实战营、企业云原生容器改造内训服务、专家一对一咨询等多种形式。
实战营所使用的是一个多语言微服务项目,开发语言包含了 java,go,nodejs,php,dotnet 等,如果在本地完整配置这些语言的开发运行环境会比较麻烦,并且会浪费不少时间。所以实战营课程为学员提供了虚拟机镜像,这个虚拟机镜像已经包含了运行环境,项目源代码,以及依赖包等。
下面的脚本是这个虚拟机的制作过程,感兴趣的同学可以自己动手实践这一部分。
使用系统:CentOS 8
由于源代码尚未完全公开,业务依赖包安装部分仅供参与学习的学员参考。(想报名的同学可以收藏此文章,参考页面底部链接报名,腾讯云推荐人可以填写我的名字,此文章的底部会持续更新)。
代码语言:javascript复制dnf update -y
#-----------------------
# install tools
#-----------------------
dnf install -y zsh git
cd /root
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
#-----------------------
# install docker
#-----------------------
dnf install -y yum-utils
yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
#-----------------------
# install kubectl
#-----------------------
wget -O /usr/local/bin/kubectl https://dl.k8s.io/release/v1.22.2/bin/linux/amd64/kubectl
chmod 755 /usr/local/bin/kubectl
#-----------------------
mkdir /app
#-----------------------
# install wrk
#-----------------------
dnf install -y openssl-devel
cd /app
git clone https://github.com/wg/wrk.git wrk
cd wrk
make
cp wrk /usr/local/bin
cd /app
rm -rf ./wrk
#-----------------------
# install go
#-----------------------
cd /app
wget https://golang.google.cn/dl/go1.17.2.linux-amd64.tar.gz
tar xzf go1.17.2.linux-amd64.tar.gz
rm -f go1.17.2.linux-amd64.tar.gz
export PATH=$PATH:/app/go/bin
#-----------------------
# install jdk
#-----------------------
dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
cd /app
wget http://mirrors.tencent.com/apache/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.tar.gz
tar xzf apache-maven-3.8.3-bin.tar.gz
mv apache-maven-3.8.3 maven
export PATH=$PATH:/app/maven/bin
rm -f xzf apache-maven-3.8.3-bin.tar.gz
#-----------------------
# install php
#-----------------------
yum install -y yum-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
yum module list php
yum module reset php
yum module enable php:remi-7.4
yum module list php
dnf install -y php php-fpm php-cli php-phar php-xml php-mbstring php-json php-pdo php-pdo_mysql php-tokenizer php-dom php-fileinfo php-xmlwriter
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
#-----------------------
# install nodejs
#-----------------------
cd /app
wget https://npm.taobao.org/mirrors/node/v14.18.1/node-v14.18.1-linux-x64.tar.gz
tar xzf node-v14.18.1-linux-x64.tar.gz
mv node-v14.18.1-linux-x64 nodejs
xzf node-v14.18.1-linux-x64.tar.gz
export PATH=$PATH:/app/nodejs/bin
#-----------------------
# install dotnet
#-----------------------
dnf -y install dotnet-sdk-5.0
cd /
# 这个 github 暂时未公开,参与学员可获取
git clone https://github.com/TencentCloudNative/microservices-demo
cd /microservices-demo
git checkout main
#-----------------------
# install shopcart denpendencies
#-----------------------
cd /microservices-demo/src/shopcart
export GOPROXY=https://goproxy.io,direct
go get ./...
#-----------------------
# install order denpendencies
#-----------------------
cd /microservices-demo/src/order/order
dotnet restore
#-----------------------
# install review denpendencies
#-----------------------
cd /microservices-demo/src/review
composer install
#-----------------------
# change npm registry
#-----------------------
npm config set registry http://registry.npm.taobao.org
#-----------------------
# install passport denpendencies
#-----------------------
cd /microservices-demo/src/passport
npm i
#-----------------------
# install mall denpendencies
#-----------------------
cd /microservices-demo/src/mall
npm i
#-----------------------
# install product denpendencies
#-----------------------
cd /microservices-demo/src/product
mvn clean package -DskipTests
# append config to .zshrc
cat <<EOF >> /root/.zshrc
export PATH=$PATH:/app/go/bin
export GOPROXY=https://goproxy.io,direct
export PATH=$PATH:/app/nodejs/bin
cd /microservices-demo
EOF
上海站(2021年10月27-2021年10月29)
深圳站活动现场回顾(2021年9月)
https://mp.weixin.qq.com/s/5IQEsmePTnO9iCrtEyY0lg
北京站活动现场回顾(2021年7月)
https://mp.weixin.qq.com/s/XpTaL1xETcDmNjdeaehm1A