Jenkins部署net core小记
作为一个不熟悉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
外传:前段时间网上搜资料,很多都是java,搜索的时候不加个C#或者net的前缀,第一页点开的标签保准让你看到的是java代码,不禁酸酸的,YY出了一个剧情
乾坤大陆,一个以修炼各种武技成为至尊而争雄于天下的世界, 原本一切秩序井然,直到有一天一个孩子的出世….
”老匹夫,哪里跑?”
“阁下何人,为何追着老夫不放!”
“耳可识得此令?”
“java令!你是java门徒,是java老祖派你来的!”
“哼,既然已知,准备受死吧!不妨告诉你,老夫是java门下springMVC,特来追杀尔等百足之虫”。
言罢,springMVC一掌向前打去。
“众.net将士听令,我等必护送少主出关”,说完,只见一阵刀光剑影,两方人马杀的天昏地暗,日月无光。
良久….”哈哈,老匹夫不行了吧,你怎和我斗?嗯?”
“咳咳咳,在下aspx,护送少主不力,有愧于netformwork家族,天亡我net啊….” aspx随即化作一缕能量,进入襁褓中的婴儿体内。
“这就是微软老儿最小的那个孙子,有着至尊潜质的,core?”,“呵呵,天道无情,还不是被我等抓住,未来的天才又怎样,还不是被我等扼杀在摇篮”
正当springMVC准备一手掐死襁褓中的婴儿之时,这片地域的空间突然被撕裂,一只巨手从空间裂缝中伸出,里面溢出可怕的洪荒之力,springMVC一阵头皮发麻,它感觉到了大危险!
“呵呵,没想到一个孩子居然惊动了C#老祖,可是欺我java无人?” springMVC的后方的空间也突然被撕裂,一只巨掌同样探出,只是双方的对掌并没击起很大能量波动,而是抵消于无。
“JAVA”
”C#”
两只老祖顷刻间针锋相对….. 圣,魔,纱窗外,斜风细雨,一阵清寒.
原本想写成连载剧情的,认知有限,留得以后再续写了,各种语言其实就是门派,技术则是秘籍啊,每次看别人的博文都感觉在修炼秘籍(是最近看玄幻小说着魔?)。只是不知门派之间兴衰如何了,我才筑基期,先修炼吧………
天下功法本同源,待我修炼至此境界,就能跳出这片天地,位列不朽仙班了 QVQ