首页 文章 精选 留言 我的

精选列表

搜索[服务],共10000篇文章
优秀的个人博客,低调大师

Docker运行人gitlab-runner 无法 scp到远程服务器的问题

[root@sannian data-ci]# docker search gitlab-runner [root@sannian data-ci]# docker pull gitlab/gitlab-runner [root@sannian data-ci]# docker run -d -v /data-ci/:/data-ci/ --restart=always --name gitlab-runner gitlab/gitlab-runner 然后注册: [root@sannian data-ci]# docker exec -it 80ac801e633b gitlab-runner register Runtime platform arch=amd64 os=linux pid=16 revision=cf91d5e1 version=11.4.2 Running in system-mode. Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): http://47.99.145.156:9999/ Please enter the gitlab-ci token for this runner: Ah-B41xF53-R4M6bamrE Please enter the gitlab-ci description for this runner: [80ac801e633b]: Please enter the gitlab-ci tags for this runner (comma separated): my-erp Registering runner... succeeded runner=Ah-B41xF Please enter the executor: docker, docker-ssh, parallels, virtualbox, docker-ssh+machine, shell, ssh, docker+machine, kubernetes: shell Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 这后就是gitlab报错然后就是发现用户是--user=gitlab-runner [root@sannian data-ci]# ps -ef | grep gitlab-runner root 31028 30984 0 10:30 ? 00:00:00 /usr/bin/dumb-init /entrypoint run --user=gitlab-runner --working-directory=/home/gitlab-runner root 31091 31028 0 10:30 ? 00:00:00 gitlab-runner run --user=gitlab-runner --working-directory=/home/gitlab-runner root 31155 31017 0 10:30 pts/2 00:00:00 grep --color=auto gitlab-runner 为了解决这个问题进入容器 [root@sannian data-ci]# docker exec -it 80ac801e633b /bin/bash root@80ac801e633b:/# su gitlab-runner gitlab-runner@80ac801e633b:/$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/gitlab-runner/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/gitlab-runner/.ssh/id_rsa. Your public key has been saved in /home/gitlab-runner/.ssh/id_rsa.pub. The key fingerprint is: SHA256:SzbhlkF6U+eHCSqToSnHzrivfbLEl+zJLk0G3KUsI3M gitlab-runner@80ac801e633b The key's randomart image is: +---[RSA 2048]----+ | . . o . | | . o =.o + o | | ..=o=o* + . | | o*E += = . | | .+o+ S | | o .o= o | | . o++ . | | +o+o. | | ..+*= | +----[SHA256]-----+ gitlab-runner@80ac801e633b:/$ vim /home/gitlab-runner/.ssh/id_rsa.pub 把密复制到远程主机上。光这个还不行,还要在容器里测试一下 gitlab-runner@80ac801e633b:/$ scp -r /data-ci/eatjoys-front.sh root@47.99.89.247://data-ci/eatjoys-front.sh The authenticity of host '47.99.89.247 (47.99.89.247)' can't be established. ECDSA key fingerprint is SHA256:a6E2UXjP1qIZLmHAS6LAfyeUjsidFhTCZxefKC4cDGk. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '47.99.89.247' (ECDSA) to the list of known hosts. eatjoys-front.sh 第一次,一定要输入一下yes 才会通过, 然后看gitlab上 通过了,这样就可以继续下一步 写脚本咯~!

优秀的个人博客,低调大师

【微信小程序】c# 实现获取openid、session_key 服务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tianchao7c/article/details/83413558 c#写一个获取微信小程序 openid和session_key 的方法。。 1,微信小程序端 // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId console.log(res.code); wx.request({ url: 'http://localhost:10000/getcode/getcode/', data:{ 'json_code': res.code }, method: 'GET', header: { 'content-type': 'application/x-www-form-urlencoded', }, success:function(res){ console.log(res.data.data) } }) } }) 2,c#后台 #region 获取小程序openid 和session_key [HttpGet] public void GetCode(string json_code) { string serviceAddress = "https://api.weixin.qq.com/sns/jscode2session?appid=" + "APPID" + "&secret=" + "APPSECRET" + "&js_code=" + json_code + "&grant_type=authorization_code"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress); request.Method = "GET"; request.ContentType = "text/html;charset=utf-8"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, System.Text.Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); var obj = new { data = retString, Success = true }; Formatting microsoftDataFormatSettings = default(Formatting); string result = JsonConvert.SerializeObject(obj, microsoftDataFormatSettings); Response.Write(result); } #endregion 然后就完成了。。。

优秀的个人博客,低调大师

服务器管理_第 31 章 逻辑复制

第31章逻辑复制 目录 31.1. 发布 31.2. 订阅 31.2.1. 复制槽管理 31.3. 冲突 31.4. 限制 31.5. 架构 31.5.1. 初始快照 31.6. 监控 31.7. 安全 31.8. 配置设置 31.9. 快速设置 逻辑复制是根据复制标识(通常是主键)复制数据对象及其更改的一种方法。 我们使用术语逻辑与物理复制相比,它使用确切的块地址和逐字节复制。 PostgreSQL同时支持这两种机制,请参阅第26章。 逻辑复制允许对数据复制和安全性进行精细控制。 逻辑复制使用发布和订阅模型, 其中一个或多个订阅者订阅发布者节点上的一个或多个发布。 订阅者从他们订阅的发布中提取数据, 并可能随后重新发布数据以允许级联复制或更复杂的配置。 一个表的逻辑复制通常开始于发布者数据库上的数据快照并将其复制到订阅者。 一旦完成,发布者的变化就会实时发送给订阅者。订阅者按照与发布者相同的顺序应用数据, 以保证单个订阅内的发布的事务一致性。这种数据复制方法有时被称为事务复制。 典型的逻辑复制用例有: 在单个数据库或数据库的子集中发送增量更改到订阅者。 在更改到达订阅者时为单个更改触发触发器。 将多个数据库合并成一个数据库(例如出于分析目的)。 在PostgreSQL的不同主要版本之间复制。 为不同的用户组提供对复制数据的访问。 在多个数据库之间共享数据库的一个子集。 订阅者数据库的行为与任何其他PostgreSQ实例的行为相同, 可以通过定义其自己的发布来用作其他数据库的发布者。 当订阅者被应用程序视为只读时,将不会有单个订阅的冲突。 但是,如果应用程序或其他订阅者对同一组表执行其他写操作,则可能会产生冲突。 本文转自PostgreSQL中文社区,原文链接:第31章逻辑复制

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册