自动化

自动化运维之系统篇:cobbler批量安装系统主机搭建

帅比萌擦擦* 提交于 2020-11-24 14:48:30
有没有想过安装系统跳过讨厌的选键盘,选鼠标,分区,配置网路,选择安装包。 大致介绍需要安装的服务有:DHCP,COBBLER. 相关目录: cobbler 使用目录及文件 cobbler 相关配置文件 /etc/cobbler cobbler 数据存储目录 /var/www/cobbler cobbler 系统设置/var/lib/cobbler/kickstarts/sample.ks dhcp配置文件 /etc/dhcpd.conf dhcp 租期缓存文件 /var/lib/dhcpd/dhcpd.leases 如果需要修改引导时的启动菜单,可修改以下文件 [root @cobbler ~]# vim/tftpboot/pxelinux.cfg/default 一、安装dhcp服务 #yum -y install dhcp 配置DHCP服务 DHCP 配置文件为/etc/dhcp/dhcpd.conf,但该文件默认是没有内容的。 vim /etc/dhcp/dhcpd.conf ddns-update-style interim; allow booting; allow bootp; ignore client-updates; set vendorclass = option vendor-class-identifier; subnet 192.168.11.0

一个开启Oracle服务和更改主机名的脚本

荒凉一梦 提交于 2020-01-07 11:48:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 真不知道该起一个什么题目,这是昨天数据库老师提出的问题。由于实验室的机器都装了还原卡,每次开机或重启都会回到初始状态,所以数库的listener.ora、tnsnames.ora文件里的host不是本机的计算机名,每次都需要手动修改,很麻烦。所需要写一个脚本来自动化的完成这个任务。第一次写技术博客,不知道问题描述清楚了没有。 我分是两部分完成的,开启服务和获取主机名是用批处理命令,然后把主机名作为参数传入一个python脚本来完成对文件的修改。下面是批处理部分,文件名start.bat : @echo off rem 这是注释 rem 获取计算机名 python update.py %computername% rem 开启Oracle服务 net start OracleServiceORCL net start OracleOraDb10g_home1TNSListener pause update.py: #coding=utf-8 import sys print u"计算机名:" print sys.argv[1] print u"见证奇迹的时刻。。。" #修改主机名 def update_file(path,old_name,new_name): """ python 不能直接修改文本的内容

get到的vim技巧,vim真是神器啊

北慕城南 提交于 2019-12-21 23:21:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 主要是寄存器操作,简直神器, 首先,说用寄存器的命令要知道,C-R (ctrl+r) 比如说用a寄存器,就要说按Ctrl+r a 这样子. 0-9 a-z (只有小写) 都是vim的寄存器, 其中,1-9 是删除寄存器,分别记录上n次删除的内容,比如,我要复制上5次删除的内容使用 "5p 就可以了, 0呢,上一次复制的内容,yy自动存入, a-z是具名寄存器,比如yy想存入a中,就是用 "ayy 这样子. 这些寄存器是可以混用的, 比如 / 和 ? 我想搜上4次删除的内容,就可以用 /<CTRL+R>4 回车, 这样子哦, 输入/"4 只能搜"4这样的字符,这个和vim的配置相关. 希望能够帮助大家. 下面是我工作中实际用的的技巧,十分方便,里面注明的使用场景 vim技巧 查找的技巧(这个比较基本,随时可用) / 从当前位置向下查找 ? 从当前位置向上查找 选中当期光标所在的 单词 然后向 下 查找 # 选中当前光标所在的 单词 然后向 上 查找 g* 选中光标所在的 单词 然后部分匹配向 下 查找 g# 选中光标所在的 单词 然后部分匹配向 上 查找 部分匹配的意思是不区分大小写的匹配 场景(向上查找用于找统一文件的定义,先用m做一个标记,找到后方便跳回来,向下找用于查看这边变量的变化) 有关使用 搜索 和

【Jenkins教程二】基于Linux实现Jenkins+maven+tomcat的自动化构建部署项目

故事扮演 提交于 2019-12-10 11:45:02
前言 为了避免每次在发布项目时,每次得删掉war重新打包,打开服务器,上传war包,重启服务器这一系列的繁琐程序。所以采用了以下基于Jenkins自动化构建部署项目的实现方式 不明白怎么安装Jenkins的小伙伴可以上去浏览我写的安装教程, 点击链接 安装插件 【系统管理】-》【管理插件】-》【可选插件】 勾选以下插件: 【发布插件】Deploy to container Plugin 【subversion插件】Subversion Plug-in 【构建Maven项目插件】Maven Integration plugin 【本地化插件】Locale,这个需要到【系统设置】-【Default Language】输入【zh-CN】并勾选Ignore browser preference and force this language to all users这个选项才能转化为中文 配置tomcat用户 在tomcat-user.xml配置用户 <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="password"

通过 DevOps 整合开发和应用安全管道

﹥>﹥吖頭↗ 提交于 2019-12-06 22:13:12
【编者按】作者 Aaron Volkmann 是 CERT Division 高级研究员,通过提出了一种集成安全系统到 CI/CD 的方法,让机构保持快速部署到生产环境能力的同时,也大幅度降低安全隐患,本文系 OneAPM 工程师整理。 DevOps 理念规定软件开发和运维团队之间需要加强沟通和协作,从而在软件开发和交付过程中实现更好的结果。而在这之后,信息安全团队同样应该集成到 DevOps 实践团队中。虽然在持续集成(CI)和持续交付(CD)过程中还未实现完整的自动化软件安全评估,本文主要介绍应如何将 DevOps 理念应用于安全评估,并集成 CI / CD。 及时和可持续 在一个新的软件项目的开发阶段,信息安全团队应该衡量新软件的安全风险,并在整个开发过程中进行安全评估。为确保快速开发和新功能部署,企业必须确保安全评估的频率,既要保证安全风险最小化,同时也要考虑安全团队有限资源的可持续性。 众所周知,自动化是 DevOps 的主要理念之一,但很多在指定应用上进行软件安全性评估的任务仍然是手动执行。出于这个原因,适当的应用安全性评估仍然是持续集成/持续交付开发管道界外。如果一个企业正在进行持续交付,那怎样才能保证部署到生产环境的软件没有安全风险? 虽然,程序中某些代码的变动,如程序接口(API)终端或更改验证,在迁移到生产之前,需要对此类变动进行手动安全评估

用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档

倖福魔咒の 提交于 2019-12-04 08:59:18
Swagger 是一个描述RESTful的Web API的规范和框架。如果使用ASP.NET的话,可以用 Swashbuckle 来自动生成Swagger。下面详细的介绍一下如何给ASP.NET Core的项目自动生成Swagger的API帮助文档。 创建ASP.NET Core的Web API Controller 在Visual Studio 2015中创建一个ASP.NET Core的项目,点击添加“New Item”,“Server-side”,“Web API Controller Class”。Visual Studio会帮我们自动创建一个如下的文件,实现了一个标准的RESTful的Web API。 [Route("api/[controller]")] public class ValuesController : Controller { // GET: api/values [HttpGet] public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } // GET api/values/5 [HttpGet("{id}")] public string Get(int id) { return "value"; } // POST api/values

Cobbler批量安装Ubuntu/CentOS系统

老子叫甜甜 提交于 2019-12-03 21:08:03
一、安装和修改cobbler配置 1. Cobbler不在CentOS的基本源中,需要导入EPEL源 升级软件包, 确保epel-release包的版本为最新,当前最新版本为6-8: # rpm -Uvh http: //download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 2. yum安装cobbler包 # yum -y install cobble r 3. 【可选】新版的Fedora安装系统存放在“testing”存储库中一段时间来检查有没有bug,如果你想通过EPEL安装最新版的cobbler(未通过生产环境验证有没有bug),可在安装或升级时启动-testing模式。 # s u do yu m -y install --enablerepo=epel-testing cobbler or # sudo yum -y update --enablerepo=epel-testing cobb ler 4. 安装dhcp服务 # yum -y install dhcp 5. 其他服务的安装 额外需要的服务还有httpd rsync tftp-server xinetd,如果系统没有装上的话,可以执行以下执行安装。 # yum -y install httpd rsync tftp

【转】有关 Grunt

断了今生、忘了曾经 提交于 2019-12-02 22:19:48
原文: https://segmentfault.com/a/1190000005029360?utm_source=tuicool&utm_medium=referral 之所以想写有关前端自动化工具的文章出于以下几个原因: 自动化构建工具对于前端开发的重要性:高效、减少重复性操作、各种强大插件的支撑。 构建工具的上手使用有一定的成本,其中也有不少坑踩,前端在掌握html/js/css三剑客的同时,还需要了解node.js、npm包管理器、构建工具的配置、语法糖以及插件的使用,也要学会当构建工具的使用日趋复杂庞大的时候如何优雅有效的组织代码,减少在使用工具的时候出现bug的概率。 工作中遇到一些grunt相关的常用实例与奇技淫巧可以拿来品玩、解读,有助于更快速上手并定制一套强大的自动化工作方式。 同类的构建工具例如gulp、webpack(严格意义上它应该是模块管理工具,但它依旧可以做一些构建的工作),甚至是扬言可以摈弃grunt与gulp的npm scripts,它们各有各的可取之处,刷新了我对构建工具的认识。而在我看来,与其争论个孰好孰坏,还不如用上一个自己觉得顺手的、更贴合项目需求的工具库。 自动化构建工具 - Grunt 先说下在没有诞生这些工具之前写前端代码的一些痛点: “css写得好费劲啊,那些可复用的样式能不能存在一个变量或函数里直接调用啊”

初学自动化测试工具Selenium

强颜欢笑 提交于 2019-12-02 21:18:01
前言 Selenium是一个用于Web应用程序测试的工具, 测试直接运行在浏览器中,就像真正的用户在操作一样。因此使用Selenium则可以实现模拟真实用户测试web应用程序。 如何使用 从上面可以看到Selenium是用来测试web应用程序的,那么自然离不开浏览器。那么下面看看使用的步骤: 选择浏览器 对于IE浏览器和Chrome浏览器都需要下载driver。由于墙过于坚实,此处可提供chromedriver的一个 下载地址 firefox只需指定firefox.exe的路径 添加maven依赖组件 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.42.2</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>2.42.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId

使用Gradle构建Android项目

自古美人都是妖i 提交于 2019-12-01 19:37:02
新项目中,使用了Google I/O 2013发布的新工具,使用Gradle构建android项目,并且在新版的Intellig IDEA以及google的Android Studio对其支持。本文就介绍一下怎么使用gradle构建android项目,进行多个版本编译。 Gradle是什么? Gradle 是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具。是google引入,替换ant和maven的新工具,其依赖兼容maven和ivy。 使用gradle的目的: 更容易重用资源和代码; 可以更容易创建不同的版本的程序,多个类型的apk包; 更容易配置,扩展; 更好的IDE集成; 环境需求 Gradle1.10或者更高版本,grale插件0.9或者更高版本. android SDK需要有Build Tools 19.0.0以及更高版本 Gradle基本结构 使用ide创建的gradle构建的项目,会自动创建一个build.gradle,如下: buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.9.0' } } apply plugin: 'android' android {