作为一个不熟悉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