Deploy

Linode 虚拟主机安装 discourse 邮件没有发送

谁说我不能喝 提交于 2020-08-17 11:11:57
discourse 在安装的时候对电子的依赖性非常强。 linode VPS 安装后 discourse 的电子邮件始终没有办法发送成功。 discourse 在安装完成后,需要对电子邮件进行校验。如果你不配置 SMTP 服务器的话,你的 discourse 是没有办法完成安装的。 很多时候如果你测试的话,你可能会使用你的私人邮件服务器进行 SMTP 测试,如果你是站长的话,你应该使用商业的电子邮件服务器。商业电子邮件服务器能够提供更好的功能,能够对发送的邮件进行跟踪,更主要的是发送量和每秒钟的发送速率能够更高,能够实现批量发送邮件。 如果你怕麻烦也怕绑定信用卡的话,你也可以使用 AWS 的 SES 邮件服务,其实功能都差不多,还更加便宜,但是 SES 对发送的电子邮件处理就不是那么好了,你不知道你发送的邮件有没有被打开。 linode VPS 在安装完成后是默认关闭 587 端口的,主要原因是可能虚拟主机服务商避免很多人申请一个非常便宜的 VPS,然后大量发送垃圾邮件。 你可以在你的账号下提交工单让 linode 帮你打开 587 端口,一般来说他们都会回复你一个下面的内容: Hello, To help combat spam on our platform, new Linode accounts have SMTP port restrictions in place on

使用PowerShell自动编译部署前端

依然范特西╮ 提交于 2020-08-17 09:56:52
前言 最近在开发一套管理系统,做了前后端分离。 后台使用的是Asp.Net Core 3.1 前端使用的是Vue+Ant Design 自己搞了一台云服务器,打算把系统部署到云服务器上。以供外网访问。 服务器OS是WinServer2016 所以打算通过IIS平台来发部与部署系统。 后台部署 后台部署很好办。因为可以通过Visual Studio,使用IIS的Web Deploy组件一健发布到服务器 前端部署-手动 因为项目还小。要部署的也就一个前端,一个后端。也没有什么分布式部署。 显然现还用不到到通过工具自动从GIT拿代码,然后通过流水线自动构建这种大炮。 在没有使用PowerShell自己部署前,前端部署流程是: 1。通过npm run build:live编译,然后会把编译好的文件生成在dist目录 2。通过Windows远程桌面,连接到远程服务器。然后Ctrl+C,Ctrl+V把文件复制到服务器指定目录 因为dist目录文件数量太多,但是大小都比较小,直接复制可能比较慢。 一般是先用WinRAR把dist目录压缩一下。然后手动复制到服务器,然后解压到服务器目录。 这样速度上来说比直接复制快一点。 但是一想到后端可以通过VS一键发布到服务器,而前端就要通过手动的方式复制到服务器 这样的差距有点大。所以自己想通过写一些脚本达到自动部署的目的。 自动部署方案

Microservice Trade-Offs

一世执手 提交于 2020-08-17 06:40:24
https://martinfowler.com/articles/microservice-trade-offs.html Many development teams have found the microservices architectural style to be a superior approach to a monolithic architecture. But other teams have found them to be a productivity-sapping burden. Like any architectural style, microservices bring costs and benefits. To make a sensible choice you have to understand these and apply them to your specific context. Microservices provide benefits… Strong Module Boundaries : Microservices reinforce modular structure, which is particularly important for larger teams. Independent Deployment

使用gpg插件发布jar包到Maven中央仓库 完整实践

ⅰ亾dé卋堺 提交于 2020-08-17 05:30:38
本文记录了在maven环境下使用gpg插件将 jar 包部署到中央仓库并快速检验和更新的完整实践过程。相对于网上其他教程使用oss-parent作为父工程的方法,这种方法入侵度低,自由度高,也是官方推荐使用的。实践过程解决了gpg验证以及javadoc注解不规范的问题。 先行知识 1 项目基础配置 首先需要注意项目的 groupId,下文注册sonatype账号时也需要填写 groupId ,两者最好一致,并确保你拥有该域名所有权,我推荐用GitHub个人主页作为对应地址。格式为 com.github.username。首先需要注意项目的 groupId,下文注册sonatype账号时也需要填写 groupId ,两者最好一致,并确保你拥有该域名所有权,我推荐用GitHub个人主页作为对应地址。格式为 com.github.username。 本文以如下配置为例: <groupId>com.github.linshenkx</groupId> <artifactId>rpc-netty-spring-boot-starter</artifactId> <version>1.0.0.RELEASE</version> 2 Maven发布相关网址 在整个发布过程中,有以下3个关键网址,注意前2个共用一个账号。 工单管理: https://issues.sonatype.org

将代码上传服务器【工作记录】

佐手、 提交于 2020-08-17 04:19:22
写代码本地测试功能,OK之后都要上传到测试服务器的,怎么上?什么流程? 整理了本人最近所学,欢迎高手指教! 大致分为四步 1,在IDEA 使用Ant remote_deploy-uat 将项目远程部署-uat 此步骤的前提是你的功能在本地已经完全OK (因为公司暂时分配我维护老项目,所以还没有使用maven管理项目,而是老旧一点的Ant去打包) 开发工具IDEA2019 上图描述了Ant的视图以及SVN上传下载代码的记录 以及你打包部署需要执行的命令 remote_deploy-uat(意思是:将项目远程部署到uat) * UAT是本公司的集成测试环境 2,等待打包完毕 将hr.war包 Upload 到/wls/webapp/hr_uat 观看IDEA下面的 Messages视图的进度条以及日志信息 确保项目成功打包 3,确保100%上传 切入 /wls/webapp/hr_uat 目录 下一步我们要做的是将本地打包好的war包上传到服务器 左侧的local是本地的war包位置,右侧的是对应的测试服务器,以及要上传的位置 如果弹出窗口,是在提示你是否覆盖, YES就行了 Upload之后,观看下边进度条 100% 就算上传成功 4, 命令 sh 或者 ./ (① ② 位置可变) 上传之后我们还要重启服务器到测试环境进行测试 格式 /xxx/xxx/xxx/xxx/脚本名称

学习django3过程中的坑

流过昼夜 提交于 2020-08-17 03:52:23
最近跟着Django by Example 2015学习,可老想用最新版的Django3。在学的过程中可踩了不少坑。 今天就又碰到一个: 在这本书中96页有这样的代码: url(r ' ^login/$ ' , ' django.contrib.auth.views.login ' , name= ' login ' ), 第一个坑:url被path替代。 第二个坑:上面的第二个参数已经不能用' xxx'这样的格式。我从 django.contrib.auth中导入login,将上面的语句改为: path('login/', login, name='login')(因为,django.contrib.auth.views.login中已经没有login了), 但服务器启动没事,一用到这个路由,就报错。好像是login函数获得的参数不对。 查了一个晚上,终于找到了原因所在。那个参数位置应该是一个视图函数的位置,而我们引入的 只不过是一个login登录函数。这个登录函数自然需要一个user参数了。这就是为什么报错缺少参数的原因了。 在django3中应该这样解决: 1 # 首先导入: 2 3 from django.contrib.auth.views import LoginView 4 5 # 然后,路由这样写: 6 urlpatterns = [ 7 path( ' login

Maven一键部署Springboot到Docker仓库,为自动化做准备

时间秒杀一切 提交于 2020-08-17 03:27:34
1 前言 前面《 Springboot整合MongoDB的Docker开发,其它应用也类似 》讲解了如何做 Docker 开发、如何把 Springboot 应用打包成一个镜像,但它是手动的,本文将讲解如何通过 maven 一键打包部署。 2 两个maven插件搞定 可以使用 maven 插件实现一键部署,这两个插件还是同一个公司的产品,就是著名的音乐流服务平台 Spotify 。 2.1 spotify/docker-maven-plugin 2.1.1 基础用法 该插件可以实现镜像打包和 push 到仓库,无 Dockerfile 和有 Dockerfile 两种方式都可以,建议使用 Dockerfile ,更灵活。在 maven 的 pom.xml 文件加入以下插件配置: <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.2</version> <configuration> <imageName>pkslow/springboot-mongo</imageName> <imageTags> <imageTag>${imageVersion}</imageTag> <imageTag>latest</imageTag> <

超越英伟达的,不会是另一款GPU!中国公司发布首款数据流AI芯片

有些话、适合烂在心里 提交于 2020-08-16 17:04:26
2020年6月23日,鲲云科技在深圳举行产品发布会,发布全球首款数据流AI芯片CAISA,定位于高性能AI推理,已完成量产。鲲云通过自主研发的数据流技术在芯片实测算力上实现了技术突破,较同类产品在芯片利用率上提升了最高11.6倍。第三方测试数据显示仅用1/3的峰值算力,CAISA芯片可以实现英伟达T4最高3.91倍的实测性能。 鲲云科技创始人和CEO牛昕宇博士表示,超越英伟达的,不会是另一款GPU,而鲲云定制数据流技术不依靠更大的芯片面积和制程工艺,通过数据流动控制计算顺序来提升实测性能,为用户提供了更高的算力性价比。 超高芯片利用率,定制数据流芯片架构完成3.0升级 此次发布的CAISA芯片采用鲲云自研的定制数据流芯片架构CAISA 3.0,相较于上一代芯片架构,CAISA 3.0在架构效率和实测性能方面有了大幅的提升,并在算子支持上更加通用,支持绝大多数神经网络模型快速实现检测、分类和语义分割部署。 CAISA3.0在多引擎支持上提供了4倍更高的并行度选择,架构的可拓展性大大提高,在AI芯片内,每一个CAISA都可以同时处理AI工作负载,进一步提升了CAISA架构的性能,在峰值算力提升6倍的同时保持了高达95.4%的芯片利用率,实测性能线性提升。同时新一代CAISA架构对编译器RainBuilder的支持更加友好,软硬件协作进一步优化,在系统级别上为用户提供更好的端到端性能。

项目部署点一下按钮就可以,全流程自动化

纵饮孤独 提交于 2020-08-16 06:12:49
我们平时在开发一些小项目的时候,有快速部署发布的这样的需求,我感觉最智能的方式可能是喊一声“发布”,应用程序就能自动打包发布到服务器上并运行起来。因为项目的规模比较小,我们可能不会应用到DevOps团队。我们希望有一个小工具,帮我们实现应用程序的快速上线。 Alibaba Cloud ToolKit就可以帮助我们就解决这个问题,但是我们还是得打一点小小的折扣,我们无法实现“喊一声”,但是我们可以实现“按一下”就发布应用程序。对于看文档感觉乏味的同学: 点这里,这里有本文对应的操作《视频》 。 第一步:安装IDEA插件Alibaba Cloud ToolKit IDEA File-> Settings-> Plugins->插件市场搜索alibaba-> 安装install Alibaba Cloud ToolKit。 插件安装完成之后,重启IDEA编辑器。 第二步:添加服务器 插件安装完成之后,在IDEA中找到“Alibaba Cloud View” 里面的Host的Tab框。 点击“Add Host”按钮之后弹出如下对话框,添加远程服务器主机IP及用户名密码。 添加完成之后多出一条Host记录 第三步:为服务器添加命令行 将一些在该服务器上经常使用的命令行,固化为command配置 点击command,执行添加命令行操作 对于应用部署,需要使用到如下两个命令行 # 删除历史启动的

部署 docker 镜像到阿里云

你离开我真会死。 提交于 2020-08-16 06:02:21
pom.xml 配置 <build> <finalName>${project.name}</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>${dockerfile-plugin.version}</version> <executions> <execution> <id>default</id> <goals> <goal>build</goal> <goal>push</goal> </goals> </execution> </executions>