宝塔怎么创建网站,谷歌三件套下载,成品视频推荐哪个好一点,网站建设网站推广优化在很久之前net还只能在windows上部署的时候#xff0c;或许很多创业公司的朋友发布项目还都是人肉部署#xff0c;反正windows都是可视化的界面#xff0c;拖拖拉拉#xff0c;开开关关还不是特别麻烦。。。现如今你的项目需要在linux上部署#xff0c;可惜的是再也没有什… 在很久之前net还只能在windows上部署的时候或许很多创业公司的朋友发布项目还都是人肉部署反正windows都是可视化的界面拖拖拉拉开开关关还不是特别麻烦。。。现如今你的项目需要在linux上部署可惜的是再也没有什么可视化的界面给你全在xshell上操作如果在xshell上部署个位数的项目大家或许还可以接受如果要部署10以上的服务呢估计很多人在xshell上敲的头都大了。。。这就是为什么docker会有dockerfile会有容器编排的docker-compose所以找一款自动化发布工具迫在眉睫了。 一 Jenkins部署 它的官方网址是https://jenkins.io/download/ 使用docker模式部署的话太简单了本篇就不用Docker部署而是直接部署到宿主机Centos上如下图1. 导入jenkins的keysudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key 2. 使用yum安装yum install jenkins 3. 启动jenkins[rootlocalhost ~]# service jenkins startStarting jenkins (via systemctl): [ OK ] 4. 然后在浏览器中输入你的虚拟机IP http://192.168.23.173:8080,看到下面的界面就算成功了。 然后大家就可以按照步骤一步一步下去就可以了。 二构建你的netcore程序 先提供一个简单的test程序供后续做自动化部署只用。 static void Main(string[] args){ var bgtask Task.Run(() { for (int i 0; i 1000; i){Log.Info($i{i});Thread.Sleep(1000);}});AppDomain.CurrentDomain.ProcessExit (s, e) {Log.Info(${DateTime.Now} 恭喜TestService服务程序已准备退出);Environment.Exit(0);};bgtask.Wait();}三jenkins配置1. 点击新建任务 2. 选择构建一个自由风格的软件项目然后点击确定 3. 这里的“源码管理”tab页是非常重要的默认支持git和svn这里就选择svn了把你生成svn的地址贴上去因为后续 执行shell脚本的时候会在jenkins的workspace文件夹中执行dotnet publish 的。 4. 在“构建” tab页中最最重要的就是里面的shell脚本。ps -ef | grep MemSql.Test.dll | grep -v grep | awk {print $2} | xargs --no-run-if-empty killcd ./MemSql.Testmkdir -p /data/output/MemSql.Test/v${BUILD_NUMBER}
dotnet publish -o /data/output/MemSql.Test/v${BUILD_NUMBER} -c Release
cd /data/output/MemSql.Test/v${BUILD_NUMBER}
BUILD_IDdontKillMe nohup dotnet MemSql.Test.dll 这里要关心的几处是 《1》 在kill pid的时候如果pid不存在你的默认脚本会报pid不存在的错误的所以加上 --no-run-if-empty 的if判断没有就 不执行kill。 《2》 使用了一个Jenkins的一个环境变量 {BUILD_NUMBER} , 也就是下图中的这个位置用这个编译版本号作为文件夹。 《3》 因为我是用nohup生成后台进程的所以要使用dotKillMe命令让jenkins不要在生成完后kill 它。 然后点击保存这个Test项目的自动化部署就搞定了。。。 四操作流程 在操作之前一定要记得让 jenkins用户提升一下权限否则你的 copymkdir可能权限不足这里我就提升成root权限。 1 把jenkins用户加入到root组中。gpasswd -a root jenkins 2修改/etc/sysconfig/jenkins文件 把原来的 users jenkins 改成root。# Unix user account that runs the Jenkins daemon
# Be careful when you change this, as you need to update
# permissions of $JENKINS_HOME and /var/log/jenkins.
#
JENKINS_USERrootJENKINS_GROUProot 3重启Jenkins即可service Jenkins restart 4. 然后你的步骤为 《1》 在svn中提交代码。 《2》 找到你的所属项目点击“立即构建”。 当然也可以让jenkins自动化构建但是考虑到生成项目最好还是加上手工发布这个按钮安全可靠 构建完之后大家可以看看 jenkins的 “控制台输出”。 然后你可以通过ftp去生产看一下果然都跑起来了v21就是我的编译版本号而且你的日志果然就是我的业务逻辑输出对吧如下图 这时候你觉得代码有问题需要修改一下把i 改成 m 接下来的步骤也就是 “提交代码” - “可视化立即编译” - 查看结果 这样的流水线作业而已啦。。。。 好了本篇就说到这里希望对你有帮助。原文链接https://www.cnblogs.com/huangxincheng/p/9608410.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com