明确目的:
本项目主要是为了控制阿里云平台成本。
1.能获取账单
2.能获取资源列表
3.能获取资源指标
4.能根据指标和阿里云实例规格做判断
5.能通过api自动升级/降级
明确目的:
本项目主要是为了控制阿里云平台成本。
1.能获取账单
2.能获取资源列表
3.能获取资源指标
4.能根据指标和阿里云实例规格做判断
5.能通过api自动升级/降级
在仓库的处理方式
# 禁用 SSL 验证(不推荐长期使用)
git config http.sslVerify false
# 或者只对特定仓库禁用
cd /path/to/your/repo
git config http.sslVerify false
# 执行完操作后,重新启用
git config http.sslVerify true
在gitlab-runner的处理方式
[[runners]]
name = "your-runner"
url = "https://gitlib.dayuzhongxue.com"
token = "your-token"
tls-skip-verify = true # 添加这行
gitlab服务器的处理
nginx不做强制跳转80至443
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
认识字典:
字典是一系列键—值对
要思考什么样的数据集合,适合使用字典来存储。
可将任何Python对象用作字典中的值,包括但不限于数值,字符串,列表,字典。
在Python中,字典用放在花括号{}中的一系列键—值对表示。
my_dict = {key1:value1, key2:value2, ...}
要获取与键相关联的值,可依次指定字典名和放在方括号内的键
print(my_dict[key1])
添加键—值对,可依次指定字典名、用方括号括起的键和相关联的值。
my_dict[key3] = value3
修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值:
my_dict[key1] = new_value1
对于字典中不再需要的信息,可使用del语句将相应的键—值对彻底删除:
del my_dict[key1]
遍历所有的键—值对:
for key, value in my_dict.items:
print(key,value)
默认遍历键,所以:
for key in my_dict: 等效于 for key in my_dict.keys():
要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。为此,可使用函
数sorted()来获得按特定顺序排列的键列表的副本:
for key in sorted(my_dict.keys()):
如果只希望获取字典包含的值,可使用方法values(),它返回一个值列表,而不包含任何键。
for value in my_dict.values():
为剔除重复项,可使用集合(set)集合类似于列表,但每个元素都必须是独一无二的:
for value in set(my_dict.values()):
将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。
一般来说,相同组织结构的字典集合,作为列表元素存储在一个列表中较为常见。
item_1 = {key1:value1_1, key2=value2_1, key3=value3_1}
item_2 = {key1:value1_2, key2=value2_2, key3=value3_2}
item_3 = {key1:value1_3, key2=value2_3, key3=value3_3}
my_list = [item1, item2, item3]
每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。
也可以把字典存储到字典中。
嵌套应控制层级,构造代码时,应该把当前操作的作用域搞清楚。
这是最简单的if判断语句:
if conditional_test:
do something
在第1行中,可包含任何条件测试,而在紧跟在测试后面的缩进代码块中,可执行任何操作。
如果条件测试的结果为True,Python就会执行紧跟在if语句后面的代码;否则Python将忽略这些
代码。
在if语句中,缩进的作用与for循环中相同。如果测试通过了,将执行if语句后面所有缩进
的代码行,否则将忽略它们。
经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况
下,可使用Python提供的if-else语句。
if-else语句块类似于简单的if语句,但其中的else语句
让你能够指定条件测试未通过时要执行的操作。
经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。Python只执行
if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测
试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
else是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,其中的代码就会执行,
这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个elif代码块来
代替else代码块。
如果你只想执行一个代码块,就使用if-elif-else结构;如果要运行多个代码块,就
使用一系列独立的if语句。
切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。
切片的基本语法:sequence[start:end:step]
start不指定,默认为0,end不指定,默认为至结束字符,step不指定,默认为1
sequence[::-1],反转列表
for x in sequence:
print(x)
for表示循环列表,这句的意思是依次将列表的元素赋值给x
以整数型为例
a = 4
b = 2
“+”代表两个整数相加
c = a + b
print(c)
6
“a-b”表示a减去b
“a*b”表示a乘以b
“a//b”表示a除以b的整数商
“a%b”表示a除以b的余数
“a**b”表示a的b次幂
其中“**”可以用来开方运算,方法是把b设置成要开的次幂,例如a=8,b=1/3,那么a**b表示把a开三次方
从最基本的语法和用法开始学,第一个目标,是取代shell实现运维工作的基本自动化
https://search.censys.io/
搜索如下内容
搜索框输入:services.http.response.headers.location: account.jetbrains.com/fls-auth
点击搜索,在返回的结果随便找一个点进去,查找到 HTTP/302
复制网址到 Jetbrains,选择许可证服务器/License server,粘贴刚刚复制的网址,激活
步骤一:配置文件修改
cd /var/lib/jenkins/updates
执行如下替换命令:
sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
步骤二:重启jenkins后,进入插件管理--高级--最下面的url地址填写为:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json