Jenkins部署net core小记

简介:     作为一个不熟悉linux命令的neter,在centos下玩Jenkins真的是一种折磨啊,但是痛并快乐着,最后还是把demo部署成功!写这篇文章是为了记录一下这次部署的流程,和心得体会。     网上很多资料都不适合自己,netcore的博文少之又少,很多都是Jenkins部署java,说起这个就是痛啊,由于网上资料松散,准备买书看的,但是讲Jenkins的,实战都是java项目,我泱泱netcore感觉真的尚未成长起来哇。

    作为一个不熟悉linux命令的neter,在centos下玩Jenkins真的是一种折磨啊,但是痛并快乐着,最后还是把demo部署成功!写这篇文章是为了记录一下这次部署的流程,和心得体会。

    网上很多资料都不适合自己,netcore的博文少之又少,很多都是Jenkins部署java,说起这个就是痛啊,由于网上资料松散,准备买书看的,但是讲Jenkins的,实战都是java项目,我泱泱netcore感觉真的尚未成长起来哇。

    但是终究被我找到一个适合的文章入门,这篇:https://www.cnblogs.com/chuancheng/p/8933057.html

    参照这篇往下进行配置,按照文章中的描述,基本无大问题,作者很良心了,一些坑都有提到,我这里只补充一个,就是dockerfile里面的代码, 里面的Jessie源,用的是腾讯云的,说如果是阿里主机则要改成阿里云的源,啊,天哪,我真不知道这个源要怎么改,(*/ω\*) 对于这种首次玩的东西,不一字一句写出来我就真的可能卡在这里。然后网上搜了一下阿里云的Jessie源。。。看得模模糊糊,嗯,是不是链接中间的域名换一下就OK?

    于是乎,这个里面的https://mirrors.163.com,我就“心机的”手动改成https://mirrors.aliyun.com,其他的不变,果然好使!

FROM jenkins

USER root
#清除了基础镜像设置的源,切换成腾讯云的jessie源
#使用非腾讯云环境的需要将 tencentyun 改为 aliyun
RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list \
  && echo "deb http://mirrors.163.com/debian jessie main contrib non-free" > /etc/apt/sources.list \
  && echo "deb http://mirrors.163.com/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list \
  && echo "deb http://mirrors.163.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list
#更新源并安装缺少的包
RUN apt-get update && apt-get install -y libltdl7 && apt-get update

ARG dockerGid=999

RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group 

# 安装 docker-compose 因为等下构建环境的需要
RUN curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

RUN chmod +x /usr/local/bin/docker-compose

 

    修改了源以后 docker build . -t auto-jenkins 就能执行成功了,这里再提一下另外的一个坑,vim dockerfile以后,我从txt复制代码到Xshell的窗口里时,第一行明明是FROM jenkins,结果FRO三个字没了,变成M jenkins,啊醉啦,一开始执行 docker build . -t auto-jenkins 报错时,看到一句错误提示,心想完了, 命令都看不懂,这报个错可咋整.... 然后就搁了一会儿, 网上摸了一下鱼。不行,今天的学习目标是学会这个,不能半途而废,隔了十多分钟再次编辑dockerfile的时候,终于发现上面复制过去的时候少了,就手动加上去,再执行命令的时候就冗长许多了。

    

# docker run --name jenkins -p 8080:8080 -p 50000:50000 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v $(which docker):/bin/docker \
    -v /var/jenkins_home :/var/jenkins_home \
    -d auto-jenkins

    执行这个的时候,也是遇到一个问题,容器ID重复(换做以前我肯定是看不懂错误提示的,英语硬伤+对linux的恐惧),这次我看懂了,它提示我要删除一下,于是百度了一下docker怎么删除容器,嗯,执行一下,OK ,问题解决, 一路往下通关~

    


    博文里提到的文件夹权限我没遇到,如果有人遇到了,参照博文里给的方法应该就可以解决了,我写这篇文章,更多的像是读后感,哦,不,操后感,实操以后的感想,和感谢!

    说一下情况吧,之所以小记一下,是觉得我这个neter,其实也是个loser,体现在以下几点:

    1.对linux命令不熟

    2.英语水平低(说白了大学里考30分那种)

    3. 浮躁 

    这也是为啥到现在才只会堪堪部署一个demo的原因,实在是底子薄...... 不过没关系,对linux不熟,就多手敲,少复制,这次用Jenkins部署core,能手敲的基本都没复制粘贴了,对命令熟悉了一分。 

    关于英语,最近有刻意练习了,搜狗浏览器右键可以快速翻译,遇到不懂的词就翻译一下,如果是句子我就扔百度翻译了,最近看英文都是这么干,用三脚猫的水平试着阅读一下,不行就关键词右键一下,再不行就整句百度翻译里一扔,终极必杀技:整个网页翻译一下...............也不是要一定都记着,多练,久而久之有些词,有些句子,就记住了。

    关于浮躁,这是个我思考了很久的问题,自我入这行起,就有个人说过我浮躁,后来我才搞懂为什么:能力与野心不匹配,过于年轻,就会浮躁。

    哈哈,说起这些,感觉自己就是个野生程序员,没人教没人带,全靠自己学,自己问,偶尔划水摸鱼去了,也没人管,如鱼饮水,冷暖自知啊~  应该有很多人这样吧,不得不说,那些有师傅带的真让人羡慕。(同是勤学,有师傅带的绝对比没师傅带的强,不接受反驳,事实就是如此,大家都勤学,有人带积累知识的速度就更快,没办法,我命不好,不过也不自怨自艾,顺其自然吧)

    


    参照上面链接里的教程部署demo的小白有不懂的可以一起交流交流,大佬就别找我 (*/ω\*)  对了, 文章里给的git项目地址,有个重定向,所以在Jenkins里配置的时候用重定向以后的地址,这个:https://gitee.com/wenalu/MvcTest


   

 

   

 

目录
相关文章
|
1月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
15天前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
1月前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
68 1
|
2月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
2月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
100 3
|
1月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
1月前
|
jenkins Java 持续交付
Jenkins打包,发布,部署
Jenkins打包,发布,部署
218 0
|
1月前
|
监控 安全 API
Docker + .NET API:简化部署和扩展
Docker + .NET API:简化部署和扩展
39 0
|
1月前
|
监控 安全 API
最完美的扩展Docker + .NET API:简化部署和扩展
最完美的扩展Docker + .NET API:简化部署和扩展
83 0
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
43 7
下一篇
无影云桌面