1. 什么是WTM框架?
一个快速、灵活、社区活跃、最最最最高效的.netcore 后台管理系统。详见 https://wtmdoc.walkingtec.cn/
欢迎大家付费支持WTMPlus,反哺社区(我已充值,还未使用,等vue3版本)。
2. 通过本文可以实现什么?
通过使用主流的开源软件或技术实现WTM项目自动化部署到ubuntu系统。
3. 你需要准备什么?
4. 安装配置基础环境
4.1关于gitee
4.1.1 什么是gitee
国产免费git源码管理平台
4.1.2 gitee可以干什么
多人协作 、代码备份、触发自动化构建(webhook)
4.1.3 下载安装git https://git-scm.com/download/win
4.1.4 下载安装tortoisegit及语言包 https://tortoisegit.org/download/
4.2 git管理WTM代码
4.2.1 新建WTM项目
简单起见,先使用sqlite
4.2.2 gitee注册、登陆
4.2.3 gitee管理wtm代码
新建代码仓
复制代码仓地址
克隆代码仓,输入代码仓地址
wtm代码放入git所在文件夹
提交代码
推送代码
刷新gitee页面,可以看到提交的代码
4.3 关于docker
4.3.1 什么是docker
将WTM和.netcore运行时打包在一起,生成一个镜像,从而运行在任何操作系统中
4.3.2 docker安装
sudo curl -fsSL https://get.docker.com | bash -s docker
4.4 关于Jenkins
4.4.1 jenkins
基于java的持续集成工具,用来实现自动获取gitee提交事件,拉去代码、编译代码、构建WTM镜像、运行WTM镜像。
4.4.2 jenkins安装
注意这里没有持久化。
sudo docker run -d --restart always --name testjenkins -p 8888:8080 -p 50001:50000 -e TZ="Asia/Shanghai" \
-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -d jenkins/jenkins:lts
进入jenkins容器
cat /var/jenkins_home/secrets/initialAdminPassword
查看jenkins初始密码
cat /var/jenkins_home/secrets/initialAdminPassword
修改docker权限
sudo chmod 777 /var/run/docker.sock
访问主机9090端口,用户名jenkins 密码是刚刚获取到的
系统管理=>插件管理=>高级=>最下方升级站点 输入 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
4.4.3 安装gitee插件
4.4.4 gitee新增令牌
4.4.5 jenkings 配置gitee插件
系统管理=>系统配置
添加Gitee凭据,用自己的gitee用户名和密码
4.4.6 新建任务
**
生成一个webhook密码,先记下来
构建新增shell,等下步执行完后再保存
#!/bin/bash
echo start
docker build -t wtmtest .
docker stop wtmapp
docker rm wtmapp
docker run -d --restart always --name wtmapp -p 8888:80 wtmtest
docker restart wtmapp
配置gitee的webhook,保存后,再保存上一步的jenkins
5.修改WTM源码
wtm MVC项目配置文件新增,以防止其余的多语言看起来比较乱
6.修改Dockerfile
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
WORKDIR /app
EXPOSE 80
RUN apt-get update
RUN apt-get install libgdiplus -y
RUN apt-get install nano -y
FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["WTMtest/WTMtest.csproj", "WTMtest/"]
RUN dotnet restore "WTMtest/WTMtest.csproj"
COPY . .
WORKDIR "/src/WTMtest"
RUN dotnet build "WTMtest.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "WTMtest.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENV TZ=Asia/Shanghai
ENTRYPOINT ["dotnet", "WTMtest.dll"]
7. 提交、推送源码
8. 查看jenkins
耐心等待,第一次比较慢,看网络环境要10-20分钟左右,后面就会很快,因为有了基础镜像
9. 查看wtm页面
访问云服务器的8888端口(别忘了打开防火墙),可以看到经典的WTM桌面啦。
重点是我们修改过的页面
手机扫一扫
移动阅读更方便
你可能感兴趣的文章