在 linux 平台下开发自动化部署工具,是不是 python 才是最好的选择,入手 linux 才半年多,这方面也是才疏学浅,请不吝赐教
在 linux 平台下开发自动化部署工具,是不是 python 才是最好的选择,入手 linux 才半年多,这方面也是才疏学浅,请不吝赐教
|
HieastFeb 19, 2019
1
我给 python 投一票
|
|
liuzuoFeb 19, 2019
2
我在写 kotlin,其实想用 go。。。。。。
|
|
tomczhenFeb 19, 2019 via Android
3
用什么语言主要还是取决于人员和项目,大多数情况下都是有限选择与项目亲和的语言、工具。
|
|
4
怎么我觉得 bash shell 好用呢
|
|
SsuchingYuFeb 19, 2019
5
Python, Ruby, Go,都不错。
|
|
37Y37Feb 19, 2019
6
挑自己最熟悉的,如果都没有熟悉的那么 bash,python,go 会是不错的学习选择,我们开发了一系列的运维相关工具,用的 python
|
|
7
@37Y37 其实我们这边还真对 python\go,没有熟悉的,对 dotnet core 倒是熟悉,至于这个 bash 能方便的访问消息队列、数据库什么的吗?
|
|
8
@tomczhen 你觉得 dotnet core 怎么样
|
|
9
@webdisk bash shell 没怎么接触过,能详细的介绍下吗,我这边需要操作文件、访问数据库、消息队列
|
|
alvin666Feb 19, 2019 via Android
10
Python 就是一个胶水语言,各种库能干各种语言能干的事,还能很容易地写出一些基本的逻辑,比较适合。
|
|
tomczhenFeb 19, 2019 via Android
11
@daijinming PowerShell 应该足够强大了,跨平台需求可以选择 PowerShell core,.net 亲和。由于没有.net core 的具体实践,根据之前接触到情况看,TFS 应该有解决方案,如果不选 TFS 应该可以找一下巨硬相关的最佳实践文档参考一下。
|
|
smallgoogleFeb 19, 2019
12
觉得 go 好用。。。自身部署就简单。
|
|
FarAheadFeb 19, 2019
13
Ruby
|
|
14
@smallgoogle 这个我倒是听说过,之前就算是后起之秀。用 go 执行 shell 命令,比如调用 docker 这方面的资料是否多那
|
|
xomixFeb 19, 2019
15
其实都可以,但是你 google 一下就知道 python 的资料丰富全面,所以用什么我也不用多说了。
|
|
hoyixiFeb 19, 2019
16
很多自动化工具都是 Ruby 写的~不很复杂的简单任务,可能 Linux Shell 一个小脚本就搞定了,用其它脚本语言反而兜圈子~
没有好不好,关键看适不适合。比如你是 Ruby 程序员,再学个 Python 去写部署?显然不合适~ 如果都没啥基础,Python 可能上手快,找现成的资源更容易,而且开发长期维护的、重复使用的、通用工具的话,Shell 可能有点痛苦,Ruby 代码灵活(多人合作的话,如果对该语言熟练程度不够,你看别人代码可能会蛋疼),Python 中规中矩。 个人倾向于 Python~ |
|
penisulaSFeb 19, 2019
17
我直接 docker 部署了
|
|
GiantHardFeb 19, 2019 via Android
18
我觉得 fake.build 挺好,感觉就是看个人喜好跟团队喜好吧
|
|
19
@hoyixi 初学者对于 python 有中奇怪的感觉 ,一般 linux 都预装 python2 ,但是书本都教授 python3,自动化工具采用那个版本比较合适那?另外可能是开发.net 给的想法,python 做自动化工具是开启一个 web 服务那,还是一个控制台应用?
|
|
tL28Qt7jS56Yy8F9Feb 19, 2019
20
@daijinming #19
从 2018 年开始,大部分 Linux 发行版预装 Python2 和 Python3。从长远角度来看,推荐使用 python3。 原因请戳这里: https://pythonclock.org/ :-) |
|
21
|
|
mritdFeb 19, 2019 via iPhone
22
@daijinming #14 调用 docker 你就不要用命令了,直接用 docker 的 sdk 啊,docker 就是 go 写的
|
|
j0ck1eFeb 19, 2019
23
linux 自动化工具一般用来解决什么问题啊?
|
|
iwtbauhFeb 20, 2019 via Android
24
相对于 bash shell,我更倾向于使用 POSIX shell,因为 POSIX shell 是可移植的。
|
|
iwtbauhFeb 20, 2019 via Android
25
@daijinming #7
把访问消息队列的接口封装成的 C/C++/...程序,并从 shell 调用 访问数据库可以直接调用数据库客户端,以 mariadb 为例 mysql -u$USER -p$PASS $DATABASE <<EOF 把 sql 语句放到这里 EOF 怎么防止注入看我前两天刚回复的一个帖子 |
|
zbl430Feb 20, 2019
26
go 编译 xxxx
运行 $ ./xxxx |
|
EscYeziFeb 20, 2019 via iPhone
27
其实 PHP 也是可以的……毕竟都是脚本语言
|
|
julyclydeFeb 20, 2019
28
这类东西还需要去开发,基本上你已经错了
|
|
HasalFeb 20, 2019
29
要看负责部署工具开发的团队技术水平,通常来讲部署与运维相关,也就是看运维团队技术水平。
前几年 python 选择的比较多,大部分运维都会 Python,对工具上手开发、维护都比较容易。 以我所在公司为例,最开始是 python,后来转到 Go,用了一阵发现 Go 招人没那么容易(其实是钱没给到位),目前已经换成 Java,招人容易多了。 |
|
yuhr123Feb 20, 2019
30
简单的就 bash
|
|
31
使用 powershell,python 没有命令行。py 在系统运维脚本这块,弱于 powershell。
使用 powershell,bash 参数 tab 补全,太 tm 麻烦。属性补全不行,python 没有参数不全。go 没有参数补全,或者说 go 参数补全依赖于 bash。 使用 powershell,支持强类型,shell 不行。使用 powershell 的 yaml 模块,读取.yaml 配置文件。 操作文件----自己的特长。 访问数据库---通过如 mysql 客户端,或 mysql 的。net 的 dll。 消息队列---通过如客户端, 支持中文脚本名,参数名,别名。猪都能懂。 如:dq 读取 xxx.ps1 -队列 入群技术支持:183-173-532 问:目前哪些 linux 能安装上 powershell ? 答: ◦Windows 10 IoT Core(arm32 的 cpu,本质上是 win,树莓派硬件上的 win10) ◦Raspbian Stretch(arm32 的 cpu,树莓派官方操作系统 Raspbian,基于大便,所以叫树莓便。) ◦MAC OS X 10.11 ◦Ubuntu 14.04/16.04/18.04 ◦Debian 8.x/9.x ◦CentOS 7.x/RHEL 7.x/Fedora26 及更高版本 ◦open SUSE 42 及以上 /SUSE Linux Enterprise Server 12 SP2 及以上 ◦Docker。LINUX 发行版中,安装容器 dockerd,docker 中运行 powershell。 ◦Arch Linux ( arch linux 没有版本号) ◦Linux AppImage 容器(portable application single binary) https://github.com/probonopd/AppImageKit ◦Kali Linux ◦alpine Linux |
|
maxminFeb 20, 2019
32
go -> kubernetes 还要干啥?
|
|
HangoXFeb 20, 2019
33
没吧,我就懒得再弄一门语言,直接用的 groovy 搭配 grape
|