当前位置: 首页 > 科技观察

DevOps第一级-个人级,人人都要装备的DevOps工具箱

时间:2023-03-12 19:04:10 科技观察

DevOpsLevel1:个人级别,每个人都应该装备的DevOps工具箱。本文中将讨论的所有软件都应该存在于您的计算机上。废话不多说,就算不写代码,也应该对这些程序很熟悉。这篇文章的目标是在个人层面开始DevOps的第一阶段——Level1DevOps,除了要有DevOps的思想,还要按照DevOps的原则和工具来处理自己的工作。分享各种工具的效用和经验也是一种进步,不仅是为了自己的利益,也是为了DevOps的下一个层次——团队层面的DevOps。本文介绍的软件不区分操作系统类型,提到的工具一般支持Win、MacOS、Linux等平台。注意本文提到的工具不建议安装,正常安装使用即可。1.环境准备类——JDK8如果要编译Java项目,就会用到JDK,它也是很多其他Java类DevOps工具运行的依赖。下载安装地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html验证方法,打开命令行工具,运行java--versionmartin@mbp:dev/bin$java-versionjavaversion"1.8.0_111"Java(TM)SERuntimeEnvironment(build1.8.0_111-b14)JavaHotSpot(TM)64-BitServerVM(build25.111-b14,mixedmode)2.环境准备类-Git客户端码农必备Prepare工具,如果你需要处理版本控制系统GitHub,GitLab等。必须安装Git客户端。下载安装网址:https://git-scm.com/downloads验证方法,打开命令行工具,运行git--versionmartin@mbp:dev/bin$git--versiongitversion2.13.1推荐掌握这个》Git作弊小抄”。https://github.com/arslanbilal/git-cheat-sheet/blob/master/other-sheets/git-cheat-sheet-zh.md如果你想学习更全面的Git知识,请参考这篇攻略:https://web.archive.org/web/20161121145226/http://rypress.com:80/tutorials/git/index验证方法,可以在GitHub上完成一个GitHubFlow流程。如果你使用的是Windows操作系统,可以试试http://cmder.net/这个终端模拟器,它可以运行linux命令,集成了git和ssh客户端,可以在Windows下找到类Unix的体验。3、容器管理——使用Docker在本地快速体验相关软件,应该是Docker很流行的一种做法。Docker也是软件工程师(本文中不区分Dev或Ops,统称为工程师-工程师)运行开发和测试环境的好方法。容器化应用、Dockerfile的快速测试等也是DevOps工程师必备的技能。为了保证持续可用,建议安装最新的社区CE稳定版,这样既可以使用最新的特性,又可以避免新版本。过错。下载安装网址:https://docs.docker.com/engine/installation/验证方法,打开命令行工具,运行如下命令:martin@mbp:dev/bin$dockerversionClient:Version:17.06.1-ceAPI版本:1.30治理:go1.8.3Gitcommit:874a737Built:ThuAug1722:53:382017OS/Arch:darwin/amd64Server:版本:17.06.1-ceAPI版本:1.30(最低版本1.12)治理:go1.8.3Gitcommit:874a737Built5:ThuOS541/Arch:Thu05415:OS2Arch:linux/amd64Experimental:truematin@mbp:dev/bin$docker-machineversiondocker-machineversion0.12.0,build45c69admartin@mbp:dev/bin$docker-composeversiondocker-composeversion1.14.0,buildc7bdf9edocker-pyversion:2.3。0CPython版本:2.7.12OpenSSLOpenSSL1.0.2j26Sep2016掌握Docker相关命令的备忘单在这里:https://github.com/wsargent/docker-cheat-sheet/tree/master/zh-cn可以参考用于在本地管理和构建镜像、管理容器的生命周期、访问容器中的服务以及运行dockercompose文件的备忘单。验证方式可以在本机运行一个web服务器容器,访问web服务器的网页。4.代码版本管理工具注册一个GitHub账号。它的功能太多了。你必须熟练使用GitHub中的所有主要功能,能够熟练地管理自己的项目,克隆和借鉴他人的项目。尽可能通过GitHub与同事或朋友就感兴趣的事情进行协作。GitFlow是团队协作不可或缺的分支策略模型,你需要掌握这个备忘单中的知识:https://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.htmlGitHubFlow的分支策略模型是GitFLow简化版,其操作方法在这里:https://guides.github.com/introduction/flow/分支管理的图形化工具有GitHubDesktop版和Atlassian的SourceTree,下载安装网址如下:https://desktop.github.com/https://www.sourcetreeapp.com/验证方式,可以在本机运行git命令行、GitHubDeskTop和SourceTree,可以一次完成GitHubFlow过程。5.编码工具VisualStudioCode这不仅是编辑代码的IDE环境,还是Git客户端,使用起来非常方便。下载安装网址:https://code.visualstudio.com/验证方式,可以在本地编辑提交自己的GitHub项目源码。可以安装Jenkinsfile、Ansible和Dockerfile等插件。Atom是我用了很久的文本文件编辑工具。景点也是大量延伸,变化无穷。下载安装网址:https://atom.io/验证方式,可以在本地编辑一个GitHub项目的目录,试试全局关键字替换功能。STS-spring-tool-suiteSpring项目的开发工具,是Eclipse的一个变体。该验证方法可以在本地打开、编辑和更新GitHub中的一个Spring示例工程。6.构建工具MavenApacheMaven可能是最流行的Java项目构建工具。不解释太多。请注意对本机Java的依赖性。下载安装网址:http://maven.apache.org/download.cgi验证方法,打开命令行工具,运行mvn--versionmartin@mbp:dev/bin$mvn--versionApacheMaven3.2.2(45f7c06d68e745d05611f7fd14efb6594181933e;2014-06-17T21:51:42+08:00)Mavenhome:/Users/martin/Documents/apache-maven-3.2.2Javaversion:1.8.0_111,vendor:OracleCorporationJavahome:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jreDefaultlocale:en_US,platformencoding:UTF-8OSname:"macosx",version:"10.13.1",arch:"x86_64",family:"mac"7测试运行环境tomcat为运行测试服务器Java项目终端上最简单的运行环境。请注意对本机Java的依赖性。下载安装网址:http://tomcat.apache.org/download-70.cgi下载版本二进制压缩包,不要使用服务安装版本。这样做的好处是可以复制这个文件夹在本地运行多个实例。验证方法是打开命令行工具,运行Tomcat服务器bin目录下的启动脚本。服务器可以正常启动,可以浏览到Tomcat的默认网页http://localhost:80808。产品库ArtifactoryOSS版ArtifactoryOSS是青蛙的免费开源版,是一款无需申请license,可在本地长期使用的工具。是一个很好的本地产品库缓存服务器。如果你本地编译的Java项目都访问这个产品库,那你即使离线也基本可以正常工作。即使在飞机上,在没有网络的情况下依然可以照常编译Java项目。不会遇到无法下载依赖包的尴尬情况。建议试用专业版。下载安装网址:https://www.jfrog.com/open-source/下载ZIP包版本,一条命令即可启停服务器,使用非常方便。验证方法,打开命令行工具,运行Artifactory服务器bin目录下的启动脚本,服务器可以正常启动,可以通过网页浏览到Artifactory的默认网页http://localhost,以及在第一次启动时接受所有默认选项9。代码持续检测SonarQube是一款支持多国语言的代码静态扫描工具。您可以扫描代码库,而无需进行大量配置。这里,假设你在本地拥有几乎所有的项目文件夹。使用此工具提高代码质量、消除技术债务和安全问题。该软件还有大量的插件。下载安装网址:https://www.sonarqube.org/downloads/下载ZIP包版本,一条命令即可启停服务器,使用非常方便。验证方法,打开命令行工具,运行SonarQube服务器bin目录下的启动脚本,服务器可以正常启动,可以通过网页。第一次启动接受所有默认选项即可,默认密码为admin/adminmartin@mbp:bin/macosx-universal-64$pwd/Users/martin/Downloads/devops/sonarqube-6.7/bin/macosx-universal-64martin@mbp:bin/macosx-universal-64$./sonar.shconsoleRunningSonarQube...wrapper|-->WrapperStartedasConsolewrapper|LaunchingaJVM...jvm1|Wrapper(Version3.2.3)http://wrapper.tanukisoftware.orgjvm1|Copyright1999-2006TanukiSoftware,Inc.版权所有。jvm1|jvm1|2017.12.0523:58:35INFOapp[][o.s.a.AppFileSystem]Cleaningorcreatingtempdirectory/Users/martin/Downloads/devops/sonarqube-6.7/tempjvm1|2017.12.0523:58:35INFOapp[][o.s.alas.es.Esticsearchen/EsticSettings]127.0.0.1:9001jvm1|2017.12.0523:58:35INFOapp[][o.s.a.p.ProcessLauncherImpl]Launchprocess[[key='es',ipcIndex=1,logFilenamePrefix=es]]from[/Users/martin/Downloads/devops/sonarqube-6.7/elasticsearch]:/Users/martin/Downloads/devops/sonarqube-6.7/elelasticsearch/bin/elasticsearch-Epath.conf=/Users/martin/Downloads/devops/sonarqube-6.7/temp/conf/es10。流水线工具JenkinsJenkins可能是第一个应该介绍的工具,但它的价值在于将以上的单点工具全部串联起来。DevOps工程师可以把所有的工作尽量变成自动化的脚本和程序代码,用git版本控制系统管理,在内部或外部代码仓库管理(你在GitHub的项目质量就是你的简历),执行和处理这些代码中的一部分应该完全交给Jenkins,尤其是需要重复执行的动作,可以交给Jenkins。下载安装网址:https://jenkins.io/download/下载war包版本,一条命令即可启停服务器,使用非常方便。我在macOS上也用过后台服务版本,但是这样会新建一个jenkins用户,权限问题也很麻烦。现在只用命令行版本,感觉比较好用。验证方法打开命令行工具,进入jenkins.war文件所在目录,在Jenkins服务器端运行启动命令java-jarjenkins.war。服务器可以正常启动,可以浏览到Jenkins的默认网页http://localhost:8080第一次启动接受所有默认选项,记住新创建的第一个管理员用户的用户名和密码.11、配置管理工具AnsibleAnsible是一款学习成本低的配置管理工具。因为它有一个插件,可以很好的对接IaaS资源池,可以轻松调度AWS和Azure虚拟机,还可以配置F5负载均衡器。它是将基础架构实现为代码的绝佳工具。用它来完成部署环境的搭建过程,用它来保证环境搭建的一致性和自动化。下载安装网址:http://docs.ansible.com/ansible/latest/intro_installation.htmlMacOS下推荐安装brew:brewinstallansiblemartin@mbp:~$brewinstallansibleUpdatingHomebrew...xcrun:error:invalidactivedeveloperpath(/Library/Developer/CommandLineTools),missingxcrunat:/Library/Developer/CommandLineTools/usr/bin/xcrun==>Auto-updatedHomebrew!Updated2taps(homebrew/core,caskroom/cask).==>NewFormulaednsdist==>UpdatedFormulaearmadillofollylibrdkafkapandocrtvats2-postiatsfwupperlibvirttopayaras-postiatsfwuppercaflutaspayaras更新2taps(自制软件/核心,木桶/桶)。installgitbucketlua@5.3pdftoipesyncthingdiff-pdfgopassmpg123pdnsrecurhemscriptenhaproxyndpipopplervowpal-wabbitfaas-clijenkinsntopngre2weechatfirebase-clilbdbpaketredisyou-get==>DeletedFormulaegeogitError:ansible2.3.2.0_1isalreadyinstalledToupgradeto2.4.2.0,run`brewupgradeansible`在Windows下建议使用虚拟(如VirtualBox的CentOS7)安装,安装方法请参阅上面的文档链接。验证方法,打开命令行工具,输入运行:martin@mbp:~$ansible--versionansible2.3.2.0configfile=/usr/local/etc/ansible/ansible.cfgconfiguredmodulesearchpath=Defaultw/ooverridespythonversion=2.7.13(默认,Jul182017,09:17:00)[GCC4.2.1CompatibleAppleLLVM8.1.0(clang-802.0.42)]12。监控工具ELK系列ELK是一款非常优秀的日志聚合和分析工具。在本地安装这个栈的好处是,学习起来比较方便,你可以很方便的启动这套工具,分析相关的日志文件,开发可视化的仪表盘和展示图表。下载安装网址:https://www.elastic.co/downloads/past-releases下载tar/ZIP包版本,一条命令即可启停服务器,使用非常方便。验证方法是打开命令行工具,运行bin目录下的启动脚本,服务器可以正常启动;默认情况下只能看到没有数据的Kibana界面http://localhost:5601/由于ELK的配置文件都是需要修改才能看到数据分析。请参考在线指南,或参加DevOps相关培训。12.看板工具TrelloTrello:轻量级的团队流程协作和列表管理平台。轻量级看板工具,SaaS服务,支持IOS和Android手机客户端。特别适合DevOps团队进行工作的可视化管理,增加工作的流动性。强烈推荐。如果你还没有注册,可以通过这个网站注册:https://trello.com/【本文为专栏作家“徐磊”原创稿件,转载请通过作者微信公众号devopshub获得授权】点此查看该作者更多好文