WTM框架使用技巧之:CI/DI(持续集成/持续部署)

463570e65ec59cbd6070885a1493c652.png

快点关注我们吧

b27ceff058b8996a34d4a7b34b3457fa.png

作者介绍

王晓东,从事工业物联网行业多年,深入了解纺织、汽车零部件等制造业业务。开发过MES、WCS、SCADA、智能产线、质量追溯、工业通讯、linux网关等系统。对跨平台部署、运维有一定经验。使用WTM框架提高了40%的开发效率,WTM框架作为学习.Net跨平台的起点也是非常推荐的。


1. 什么是WTM框架?

  一个快速、灵活、社区活跃、最最最最高效的.netcore 后台管理系统。详见 https://wtmdoc.walkingtec.cn/

  欢迎大家付费支持WTMPlus,反哺社区(我已充值,还未使用,等vue3版本)。

2. 通过本文可以实现什么?

通过使用主流的开源软件或技术实现WTM项目自动化部署到ubuntu系统。

  1. 通过Gitee管理WTM项目代码

  2. 通过Jenkins获取代码提交事件,从而生成WTM镜像

  3. 容器运行WTM镜像

3. 你需要准备什么?

  1. 准备一台Ubuntu云服务器(或虚拟机安装花生壳,因为要用到外网)

  2. ubuntu、git、docker的基础知识(没了解过也无所谓,我会手摸手)

  3. 准备好耐心,本文适合对ubuntu不是很熟悉,但是想把WTM运行在Ubuntu上的朋友。包括git、gitee配置、jenkins安装配置部署,很多都是一劳永逸的,坚持下来,会有收获

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

85fe4f1f8d2a5969a058528fc4de262b.png

        4.2.2 gitee注册、登陆

4.2.3 gitee管理wtm代码

新建代码仓

3e5c31a262138827b444c352e2f8c1e5.png

复制代码仓地址

29a2d2867e2317b8a4cbbe6f0524560e.png

克隆代码仓,输入代码仓地址

2af81efa9f7e969a1a7b4b96afa7bdb2.png

wtm代码放入git所在文件夹

15101975ce43ec1f5814b96c2e04f22e.png

提交代码

9ae35ebba170b4e442615f1a4cf302cf.png

24955b037a89cc3340134a4f5e61db1e.png推送代码

771a6970056aa7d9d5930d749f317a57.png

eec6e6999af3329314a880fbbec28c23.png

刷新gitee页面,可以看到提交的代码

1a1a1ec98489c35907b656a9394f3736.png

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容器

1

cat /var/jenkins_home/secrets/initialAdminPassword

查看jenkins初始密码

1

cat /var/jenkins_home/secrets/initialAdminPassword

修改docker权限

1

sudo chmod 777 /var/run/docker.sock

访问主机9090端口,用户名jenkins 密码是刚刚获取到的

系统管理=>插件管理=>高级=>最下方升级站点 输入  https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

4.4.3 安装gitee插件

7468b54660545f2690d2b2f7dddaf11f.png

4.4.4 gitee新增令牌

963c65acb510571b9a8c79b671ef4282.png

 4.4.5 jenkings 配置gitee插件

系统管理=>系统配置

添加Gitee凭据,用自己的gitee用户名和密码

52cd4757671d90b38b6a4ded3d0a1379.png

b94feded6bad4d5a88e483da8846de48.png

4.4.6 新建任务

cff68bf99e4ad4ed3c5b471b7d6eb873.png9c1eb9b5379b09e4941fe8c7caa42ad9.png

af2d6815e9961de6c2eaa9866e94d508.png

生成一个webhook密码,先记下来

8c387a435305f829f65174efce150408.png

构建新增shell,等下步执行完后再保存

c6e6a4fd264f018806a07d2ff5967951.png

826b299a7d783fb1b4eadcc43437f93a.png View Code

配置gitee的webhook,保存后,再保存上一步的jenkins

9fc48b509952c15431647e856d54fd0f.png

5.修改WTM源码

wtm MVC项目配置文件新增,以防止其余的多语言看起来比较乱    

<SatelliteResourceLanguages>zh-Hans,en</SatelliteResourceLanguages>

9a49817cb220b873c35ff5df8edbd175.png

6.修改Dockerfile

c8251678165f1edae75f67b02fbce9f5.png View Code

ffa200de92958058686a5a96a975d55d.png

7. 提交、推送源码

86abc5b53979643aac28f5222c671848.png

8. 查看jenkins

f89be00691eab73523a48e28fd01126d.png5f51ad39e59e173fd36061b746b24ef9.png

  耐心等待,第一次比较慢,看网络环境要10-20分钟左右,后面就会很快,因为有了基础镜像

9. 查看wtm页面

访问云服务器的8888端口(别忘了打开防火墙),可以看到经典的WTM桌面啦。

重点是我们修改过的页面

793f4184634b0cdd3e3ef8d527951ce9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 建立自己的框架,利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备...

“一个时代结束了&#xff0c;另一个时代开始了。”Framework Interoperability Group(框架可互用性小组)&#xff0c;简称 FIG&#xff0c;成立于 2009 年。FIG 最初由几位知名 PHP 框架开发者发起&#xff0c;在吸纳了许多优秀的大脑和强健的体魄后&#xff0c;提出了 PSR-0 …

二维数组各行分别求和_【PyTorch入门】之十分钟看懂二维卷积层的运算、实现及应用...

原文链接&#xff1a;【动手学深度学习笔记】之二维卷积层​mp.weixin.qq.com1.二维卷积层本节介绍卷积神经网络中最常见的二维卷积层。二维卷积层常用来处理图像数据&#xff0c;它具有两个空间维度&#xff08;高和宽&#xff09;。1.1二维互相关运算1.1.1原理分析在二维互相…

python3 UnicodeEncodeError: 'ascii' 错误

2019独角兽企业重金招聘Python工程师标准>>> python 3.4 使用urllib.request.urlopen() 打开url时候&#xff0c;如果url中包含中文&#xff0c;出现了“UnicodeEncodeError: ascii codec cant encode ”的错误&#xff0c;修复步骤如下 在url中有中文的地方加入…

小女生的Linux技术~~~Linux常识~~21-30

小女生的Linux技术~~~Linux常识~~21-30 Q21 如何查看当前用户的系统行为? A&#xff1a; 使用命令w查看当前用户的系统行为&#xff0c; w root Q22 如何查看曾经登录系统的用户名 ? A:使用who命令查看当前用户登录情况 who -u更详细些 Q23查看所有进程的方法是什么&#xff…

让批处理文件(.bat)程序无窗口(隐藏/静默)运行

将下面的代码保存为.vbs 文件&#xff0c;把 test.bat 改成你的批处理文件&#xff0c;然后运行.vbs 文件 --------------------------------------------------------------set GuWSWScript.CreateObject("WScript.Shell") GuWS.Run "test.bat",vbhide转载…

女朋友的道歉方式

1 女朋友的道歉方式2 看吧,无聊的时候什么事都干得出来3 这猫太坏了&#xff01;4 还以为是特效,原来是实物 5 叉子的妙用6 也太信任这块玻璃了吧……7 棉花糖炸酱面......大家感受一下你点的每个赞&#xff0c;我都认真当成了喜欢

单元测试(三)基本使用

介绍本文来演示一下同事教导后的写法&#xff0c;同样有些单元测试是为了演示而写的单元测试。本文使用组件&#xff1a;Xunit、Moq以及dotNet相关知识注&#xff1a;本文内容基于上一篇操作首先指定一个方法编写单元测试&#xff0c;并且要保证没有其他因素干扰的情况下去进行…

重力模型matlab代码,STK基础教程.doc

STK基础教程STK基础教程By appe1943西安交通大学目 录TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc367480315" 1 STK软件简介 PAGEREF _Toc367480315 \h 1HYPERLINK \l "_Toc367480316" 1.1 STK软件简介 PAGEREF _Toc367480316 \h 1HYPERLINK \l &…

帆软帮助文档_帆软:像阿甘一样,奔跑在商业智能的赛道上

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 晶少出品 | CSDN云计算(ID&#xff1a;CSDNcloud)故事开始于一片洁白的羽毛&#xff0c;从空中降落缓缓飘过房屋、街道、树梢&#xff0c;最终落在了主人公阿甘的脚旁&#xff0c;他没有过多思考就将羽毛轻轻收藏书中……这是…

sed简单用法

一、替换1、将替换后的文本显示在屏幕上sed s/pattern/replace_string/ file或者通过管道cat file|sed s/pattern/replace_string/2、替换源文件中的文本sed s/pattern/replace_string/g file或者sed -i s/pattern/replace_string/ file从第N处开始替换匹配的行sed s/pattern/r…

字符串表达式求值 C#实现

using System;using System.Collections.Generic;using System.Windows.Forms; namespace ExpressionResult1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } //建立一个数栈和一个操作符栈 …

叫板BBC!80后湖南姑娘,花3年首次拍出水下的中国,惊艳了全世界

全世界只有3.14 % 的人关注了爆炸吧知识众所周知&#xff0c;中国拥有约960万平方公里的陆地面积&#xff0c;我们生活在这片大地之上。但却鲜有人知道&#xff0c;中国的水下也有一座城。这是一座位于杭州千岛湖下的千年古城&#xff0c;历经61年&#xff0c;它们在水底&#…

php开启mysqlnd,如何启用mysqlnd的php?

我有PHP安装和运行(版本&#xff1a;5.3.17)&#xff0c;我想切换到mysqlnd(在phpinfo mysqlnd不存在)。我读了&#xff0c;为了设置它&#xff0c;你需要更新./configure命令&#xff1a;./configure --with-mysqlmysqlnd \--with-mysqlimysqlnd \--with-pdo-mysqlmysqlnd \当…

***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象...

http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value (存一个对象的时候key存) 将哈希表 key 中的域 field 的值设为 value 。 如果 key 不存在&#xff0c;一个新的哈希表被创建并进行 HSET 操作。 如果域 field 已经存在于哈希表中&#xff…

lua loadstring传递参数_lua学习之函数篇

函数函数是对语句和表达式进行抽象的主要机制两种用法一是可以完成特定的任务&#xff0c;一句函数调用被视为一条语句二是以只用来计算并返回特定的结果&#xff0c;视为一句表达式print("Hello, World")a math.sin(3) math.cos(10)print(os.date())​无论哪种用法…

Redhat Linux编译安装LAMP环境

一&#xff1a;准备软件包存放/home/xiutuo/software/目录下。主要软件包&#xff1a;1. httpd-2.2.6.tar.gz 2. mysql-5.0.45-linux-i686-glibc23.tar.gz (这个版本是已编译好的压缩包&#xff0c;解压后稍做配置即可使用)3. php-5.2.5.tar.gz安装php所需的软件包&#xff08;…

EF Core 6 简化的数据库上下文注册

EF Core 6 简化的数据库上下文注册IntroEF Core 6 将简化现在的服务注册&#xff0c;DbContext 的服务注册将会更简单一些Sample直接来看示例代码吧&#xff1a;现在我们注册 EF Core 的 DbContext 通常是这样的&#xff1a;const string connectionString "DataSourcete…

Nginx指南

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。更多的请见官方wiki&#xff1a;http://wiki.nginx.org/Main 。 其优点…

快要“成精”的波士顿机械狗,开始卖了,价格不贵准备搞一只

全世界只有3.14 % 的人关注了爆炸吧知识重磅消息&#xff1a;这只全球著名的网红狗终于。。开&#xff01;售&#xff01;了&#xff01;哦&#xff0c;不对&#xff0c;放错图了&#xff01;应该是这只&#xff01;一起来看看视频介绍——6月17日&#xff0c;据科技时报&#…

php3.23,MySQL 3.23.40 又发布了-PHP教程,PHP基础

mysql 3.23.40 又发布了。修正了–low-priority-updates 和 insert 的问题。修正了从进程在一些特别的情况下超前主进程 22 字节的问题。为复制增加了 slave_wait_timeout修正了 update 和 bdb 表的问题。修正了bdb 表使用 key parts 的问题。修正了使用 grant file on databas…