GitLab masterブランチ以外のPUSHで Piplineが実行されない。

投稿者: Anonymous GitLabにてCIのテストを実施しています。 .gitlab-ci.ymlを以下のように編集しています。 masterブランチにファイルをPUSHしたら正常にJOBが起動されるのですが test2ブランチにファイルをPUSHしてもJOBは実行されません・・・。 試しにonlyを外してみたのですが、結果は同じでした・・・。 どうすればmasterブランチ以外のブランチでもJOBを起動することができるでしょうか? 私としては新規ブランチをPUSHした場合でもJOBを実行したいです。 ご教授のほどよろしくお願いします・・・。 ==追記== 先ほどGitLabのRun Piplineで Create for にtest2ブランチを選択したら以下のように怒られました。.gitlab_ci.ymlは確かにないのですが、ファイル配置は各ブランチで必要ということでしょうか・・・? ちなみにtest2ブランチにGitLab上で.gitlab_ci.ymlを追加したらJOBは起動しました・・・。 新規ブランチをpushした場合、わざわざGitLab上で.gitlab_ci.ymlを追加しないとJOBは実行されないということでしょうか・・・? ==追記2== gitlabサーバーで直接xxxx.gitディレクトリ直下に.gitlab_ci.ymlを追加しましたが 動きませんでした・・・。 解決 自己解決ができた気がします。 私の認識が誤っていた気がします。One .gitlab-ci.yml per branch or per repository? を読む限り、リポジトリ:gitlab-ci.yml=1:1ではなく、ブランチ:gitlab-ci.yml =1:1 なんですね。 確かにmasterに配置したgitlab-ci.ymlをベースにブランチを作成する事でgitlab-ci.ymlが配置されていきました。 お騒がせしました・・・。 そうなるとonlyやexceptって基本中の基本で、各ブランチによってカスタマイズ可能 ってなるから、存在意義が薄い気がしますが・・・。そうでもないもんですかね。 回答者: Anonymous

GitLab におけるプロジェクトのFork

投稿者: Anonymous GitLab で、GitHub のようにプロジェクトをForkする方法はあるのでしょうか。 プロジェクトの親子関係を明確にして、 複数の派生したファイルを管理したいと考えています。 現在はブランチを分けて管理していますが、 複数のブランチを頻繁に行き来しなければならず、 非常に不便です。 また、それぞれを同時に動作させることもできません。 かといって、下記URLの方法でブランチから新たなレポジトリを作ると、 プロジェクトの親子関係を記録することができません。 https://stackoverflow.com/questions/9527999/how-do-i-create-a-new-github-repo-from-a-branch-in-an-existing-repo 解決 別ユーザでないと fork 出来ないようなので、それじゃないでしょうか? 一応、7.6.2 (sameersbn/docker-gitlab) にて、fork するリンクのところと、管理画面で forks の数が見れるところの画像を貼っておきます。 これらが表示されてないとなると、なんか別の問題かもしれません。。 別ユーザ(ohga)が root/test を表示させて fork するところ。 Administrator の管理画面で forks を確認するところ。 回答者: Anonymous

Bareリポジトリのgit fetchができない

投稿者: Anonymous 困っていること RedmineとGitLabを連携して運用しています。 Redmine上でgit管理しているプロジェクトの更新履歴を参照しています。 数日前にRedmineを構成しているサーバ上の、Bareリポジトリでコマンド git fetch origin master が通らなくなりました。 コマンドを実行すると以下のエラーが表示されます。 GitLab: The project you were looking for could not be found. fatal: The remote end hung up unexpectedly OS  Redmine :CentOS release 6.10 (Final)  GitLab :CentOS release 6.6 (Final) git管理しているプロジェクト名をprojectとしますと、 Redmineを構成するサーバ上のBareリポジトリディレクトリproject.git内の configファイルは以下の内容です。 [core] repositoryformatversion = 0 filemode = true bare = true [remote…(Continue Reading)

userdel による ユーザの削除が currently used by process と表示され失敗する

投稿者: Anonymous お世話になっています。 gitlabを一度アンインストールしようとして削除手順を踏んだのですが、gitユーザが削除できません。 userdel -r git を行うと「user git is currently used by process 662」と表示されるので、内容を調べたところ、 ps aux | grep git の結果、 runsvdir -P /opt/gitlab/service log: logrotate: warning: unable to open supervise/pid.new: file does not exist runsv logrotate: fatal: unable to start ./run: file does not exist runsv logrotate: fatal: unable to change directory to ./log:…(Continue Reading)

Ansibleのgitモジュールで指定したgitlabのリポジトリの記述が空になってしまう

投稿者: Anonymous ymlファイルにgitモジュールのgitコマンドを記入し 実行しようとしたところ playbookの実行時に指定した”repo=●●●” 「●●●」部分が空になっているようで、さらにタイムアウトもせずにplaybook実行が止まってしまいます。 – name: gitでリポジトリの取得 git: [email protected]:sample.git dest=/home/test version=origin accept_hostkey=yes playbook実行中のログを取得すると <192.168.0.1> REMOTE_MODULE git repo= dest=/home/test version=master accept_hostkey=yes となってしまいます。 試しにssh取得ではなくhttp取得に変えたところ repoが空になるという現象は発生しませんでした。 ①何かssh取得できない要因があるのでしょうか 言葉足らずであれば申し訳御座いません。 宜しくお願い致します。 環境は Linux version 3.10.0-327.10.1.el7.x86_64 ([email protected]) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 Ansible 1.9.4-1.el7 です。 解決 解決しましたので、記載しておきます。 Ansibleのgithubで公開されていたコードを解析してみたところ repoの値を補完する処理を見つけまして解析しておりました。 また他の方にご教授いただきまして、スキームを足すとこの処理が うまく保管をしてくれるようですので 以下でうまくいくようです。 – name:…(Continue Reading)

GitLab マージリクエストのターゲットブランチについて

投稿者: Anonymous GitLabでマージリクエストのテストをしているのですが、 ターゲットブランチが「master」しか表示されません・・・。 マージリクエストは保護ブランチしかターゲットに出来ないのでしょうか?? ご教授よろしくおねがいします。 バージョン:GitLab Community Edition 10.8.4 ブランチの状態 master(保護ブランチ)  ∟ develop    ∟ feature やりたいこと featureをdevelopへマージリクエストする。 現状 となってしまい、master以外選択できない状態です。 「develop」と打ってみても反応ありません。 補足(経緯) 少ない知識の中ブランチ戦略の提案書を作っています。 (参考サイトを見ながら考えています。) 各ブランチへのマージ作業をクライアントツールではなくGitLab上でやったほうがいいのかと思って、このような質問をしました。 追記 ・developブランチを保護ブランチにしてみましたが、結果変わらずでした。 ・「No matching result」選択後、「master」すら選択できなくなりました。 (ページ更新したら選択できるようになります) ※もしやバグなんでしょうか・・・? 解決 自己解決しました! GitLab Issuesのやり取りをみていたら、英語(English)だと動くという内容をみてProfile SettingのPreferred languageを「日本語」から「English」に変更すると対象のブランチが表示されました!! 回答者: Anonymous

[インフラ管理者向け]本番サーバのスクリプトや設定ファイルの変更管理ってどうしてますか?

投稿者: Anonymous サーバ管理用に使う、スクリプトや設定ファイルは、どのように変更管理してますか。 共用アカウントを使い、本番サーバしか無い状態で、変更管理をする場合は、みなさんはどのように管理されていますか? 私は、社内向けに提供するデータ分析用のサーバの管理及びデータ解析を任される事になりました。 ただ、規模が小さいので、開発-ステージング-本番といったアプリ開発の様な構成も取れず、 直接本番サーバのスクリプトや設定を弄っている状態です。 現状の管理方法としては、同一フォルダにディレクトリを用意して、「~.pl.r1」の様にして過去分を管理しているのですが、これはさすがに色々マズ過ぎと考えています。 また、簡単な構成は下記の様になります。 ログの集約サーバがあり、そこのログで必要な分を、機能ごとに分けた分析用サーバ(複数)はマウントして使用する(どちらのサーバもすべて仮想マシン)。 また、ログの集約サーバには分析用サーバ用の共有ライブラリ(perl、sh)もあり、 各分析サーバはそこをマウントして共用する。 と言った状態です。 私なりの答えとしては、 ログの集約サーバにリポジトリを作成して、各分析サーバはそれをチェックアウトして使用する。 と言うものですが、アプリ屋あがりなので、インフラ管理という視点ではどうなのか検討がつきません。 さらに、githubの様な外部のホスティングサービスは、上司の許可が下りないので、 使えるとしても、subversionやGitLab、GitBucketあたりのオンプレミスなバージョン管理ツールしか使用出来ません。 また、個人情報を扱うログデータもある為、それを加工するスクリプトには、一部の人しか触れないようにロール管理も必要です。 みなさんならどう対応しますか? 解決 私ならですが、 まず共有アカウントの運用をやめ、個別アカウントの運用に変えます。 root の直接ログインを全面的に禁止して sudo などを使うようにします。 ロール管理はファイルパーミッション、sudoers、などで制御します。 これられではロール管理が不十分であれば selinux を使います。 /etc 以下のファイルであれば etckeeper を使いバージョン管理を行います。 etckeeper は VCS のラッパーで Git/SVN などが使えます。 /etc 以外のファイルは Git/SVN でローカルリポジトリで管理する感じです。 回答者: Anonymous

error: src refspec development does not match any al hacer un push

publicado por: Anonymous Cuando intento hacer un push a la rama development de mi repositorio obtengo el error error: src refspec development does not match any. Esto es lo que he hecho: 1 – cloné el repositorio git clone [email protected]:solay-Apache/koica-inscriptions.git 2 – creeéuna nueva rama y me posicioné en esa rama: git branch db git…(Continue Reading)