Golang抢占式调度在1.2版本之前,go的调度器仍然不支持抢占式调度,程序只能依靠Goroutine主动让出CPU资源才能触发调度,这会引发一些问题,比如:某些 Goroutine 可以长时间占用线程,造成其它 Goroutine 的饥饿垃圾回收器是需要stop the world的。如果垃圾回收器想要运行了,那么它必须先通知其它的goroutine合作停下来,这会造成较长时间的等待时间。之后
Go熟悉的语法 由于它们在C编程语言中具有共同的遗产,因此Java开发人员应该可以完全理解Go (aka Golang)代码。 这是规范的“ Hello world”程序,您可以通过Go Playground网站上的浏览器执行和修改该程序: package main
import "fmt"
func main() {
fmt.Println("Hello world")
} 功能和控制
转载
2024-04-23 11:07:53
84阅读
上篇文章完成了本机registry私有仓库的镜像拉取部署(主要是Jenkins主动扫描gitlab,被动触发,间隔一分钟。)本章内容1.gitlab自动实时触发jenkins(添加gitlab插件) 搜索插件gitlab,点击直接安装外发请求
允许来自钩子和服务的对本地网络的请求。
允许Webhook和服务对本地网络的请求
允许系统钩子向本地网络发送的请求 更改demo的构建参数更改文件权限
[r
转载
2024-03-16 01:15:41
44阅读
首先说一下我的环境,首先准备一台ubuntu18.4虚拟机,安装docker, 然后用docker 安装gitlab[大家可以参考 Ubuntu Docker搭建GitLab以及常规配置使用] 和harbor【大家可以参考 Ubuntu18 安装搭建Harbor】,关于k8s的安装大家 可以参考 Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装 和
转载
2024-03-20 17:14:32
129阅读
1.go-内联优化机制,如下代码描述package main
import "fmt"
/*
go 内联优化,根据AST语法树的字符个数,(80) >80 进行优化内联
*/
func add(a, b int) int {
return a + b
}
//go:noinline ,屏蔽掉系统的内联优化,通过go build -gcflags="-m -m" goInline.go查
转载
2024-04-23 18:42:53
197阅读
背景1. 实际工作中涉及到安卓客户端方面的测试,外推或运营部门经常会有很多的渠道,而每个渠道都对应着一个app的下载包,这些渠道都记录在安卓项目下的一个渠道列表文件中。外推或运营部门经常会有新的渠道产生,而为了这些新增的渠道我们会将渠道配置到渠道列表文件中并push代码,但是并不会为此在jenkins上重新进行一次整体构建。针对这些新增的零散渠道,我们会在jenkins中分渠道进行构建。2. 外推
转载
2024-05-30 06:39:56
471阅读
前言相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛。由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由于当时对系统划分的不合理等等原因导致每次发版都会设计到多个系统的发布,小的版本三五个,大的版本十几个甚至几十个系统的同时发布!而我们也没有相应的基础设施的支撑,发版方式更是最传统的,开发人员将发布包发给
概要开发web 框架数据库认证日志配置静态文件服务上传/下载发布docker 打包部署中遇到的问题时区问题概要轻量的基于 golang 的 web 开发实践.golang 上手简单, 第三方库丰富, 对于业务没那么复杂的项目, 作为 API 的后端也是不错的选择. 下面是对 golang 作为 API 后端的 web 开发实践总结.开发API 后端的功能模块基本已经固定, 基于自己的项目, 主要使
转载
2024-02-19 20:44:23
64阅读
一, Jenkins Api 简介Jenkins 对外暴露的动作交付入口为外部程序提供入口,可以控制Jenkins支持协议 - HttpApi 接口支持用户名、密码认证Jenkins Api支持的典型功能:运行Job、查看任务状态、返回任务编号…等二, Jenkins Api 环境准备2.1 环境准备创建一个有任务运行和查询权限的用户较老版本的Jenkins操作关闭跨站脚本伪造请求保护,新版本的J
转载
2024-06-24 20:08:07
1010阅读
JWT(json web token)jwtjwt的原理和session有点相像,其目的是为了解决rest api中无状态性因为rest接口,需要权限校验。但是又不能每个请求都把用户名密码传入,因此产生了这个token的方法流程:用户访问auth接口,获取token服务器校验用户传入的用户名密码等信息,确认无误后,产生一个token。这个token其实是类似于map的数据结构(jwt数据结构)中的
转载
2024-04-24 11:04:17
40阅读
以下所有例子中结构定义如下:type User struct { Id_ bson.ObjectId `bson:"_id"` Name string `bson:"name"` Age int `bson:"age"` Jo
原创
2022-06-20 19:37:14
277阅读
一、前言数据抽取是数据仓库ETL开发的重要环节,对于异构数据源的同步有多种工具,也会遇到各种问题。本文主要总结作者工作中同步mongo数据到hive的方式和经验。 二、mongo to hive方式选择mongo同步数据到hive有多种方式,下面介绍几种常用的方式1、通过datax官网介绍:datax的MongoDBReader 插件利用 MongoDB 的java客户端MongoCli
转载
2023-10-31 17:51:56
59阅读
golang 包:github.com/denisenkom/go-mssqldb@v1.2.0github.com/jmoiron/sqlx@v1.3.5 数据库:sql server express 2014 问题:连接得时候golang报错:TLS Handshake failed: tls: server selected unsupported protocol ve
转载
2023-07-02 20:06:40
213阅读
Jenkins官方文档说的安装步骤安装Jenkins之前,Mac电脑需要安装Java环境,也就是官方文档所说的JDK。什么是JDK?!! 这都不知道么?JDK全称Java Development ToolKit,是Java语言开发工具包。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java
转载
2024-02-13 13:24:56
17阅读
jenkins api
哪一个-哈德森还是詹金斯?
都。 几个月前,我开始使用Hudson v1.395来从事这个小项目,在出现巨大分歧之后又回到了这个项目。 我以此为契机,看我将来选择永久搬到詹金斯时是否会遇到任何重大问题。 出现了一些麻烦-最值得注意的是,新的CLI jar不能立即使用,但是Jenkins的整体v1.401在切换后按预期工作。 好消息是旧版本的CLI ja
转载
2024-03-01 14:23:46
424阅读
1 GitLab端生成API Token登录GitLab -> 在用户头像下拉框,选择“Setting” -> 点击“Access Tokens”,输入“Name”和“Expires at”,勾选“api” -> 点击“Create personal access token”,生成access token,记录下此token。 2 Jenkins端配置Git
转载
2023-06-27 17:19:09
295阅读
一、概述 最近在中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作。下面就简单介绍下我的发现。二、Linux Curl2.1 首先找到的是Jenkins官网的wiki:猛击这里2.2 在官网首页就有关于触发job的方法: 个人尝试了下,该方式是通过命令行直接调curl去发POST请求的方式来
转载
2023-08-09 16:12:54
174阅读
零、前言Jenkins是一个自动部署的平台,可以极大的帮助我们自动部署项目,把注意力放在书写代码上。教程环境说明: 系统:ubuntu20 配置:2核4G 软件:JAVA11 安装方式:APT(不使用Docker)注意: 您至少需要预留256MB的内存空间,推荐1G内存空间,实测占用1G左右,安装所需要的环境,可以查阅官网的入门指南一、软件安装安装Jenkins1.添加用于安装的密钥到您的系统里c
转载
2024-06-06 05:54:40
255阅读
前言:为什么要使用Jenkins的API? 我在使用Jenkins的过程中,觉得Jenkins的UI还是有不少问题的:UI性能差,尤其是有一些任务在构建中时,UI非常卡顿,等个十来秒都正常,极端时甚至会崩溃;权限管理功能薄弱,虽然有Role-based Authorization Strategy类似的插件提供了角色管理,但是还是不太好用;一些需要人工介入的能力扩展不太方便,比如发布前需要比对数据
转载
2024-05-22 11:22:06
692阅读
Kubernetes (K8S) 是一个开源的容器编排系统,可以轻松管理容器化应用程序的部署、扩展和管理。在K8S中,使用Golang编写的Docker API可以帮助开发者与Docker引擎进行交互,实现对容器的管理和操作。在本文中,我将向你介绍如何使用Golang编写的Docker API来实现与Docker引擎的交互。
整个实现“golang docker api”的流程可以分为以下步骤:
原创
2024-05-06 10:35:38
145阅读