JenkinsをRPMでインストールする方法

September 25,2017 12:03 AM
Category:[Jenkins]
Tag:[Jenkins]
Permalink

JenkinsをRPMでインストールする方法を紹介します。

1.はじめに

JenkinsをLinuxにyumでインストールするには、OS標準のパッケージにJenkinsのリポジトリが含まれていないので、Jenkins公式サイトが公開しているリポジトリを追加します。

% sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
% sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

その後yumコマンドを実行すればインストールできます。

% sudo yum install jenkins

が、マシンがネットに接続されていない環境ではwgetが使えません。

ということで、JenkinsをRPMでインストールする方法を紹介します。

ここではRedHat Linuxを例に説明します。

2.JenkinsをRPMでインストールする

JenkinsをRPMでインストールするには、「RedHat Linux RPM packages for Jenkins」のページにアクセスして、「Individual Package Downloads」の下に表示されているrpmの一覧から任意のリンクをクリックします。

Jenkins RPM

ダウンロードしたrpmをサーバにアップロードして、ファイルを配置したディレクトリで下記のrpmコマンドを実行します。

# rpm -ivh jenkins-1.658-1.1.noarch.rpm
警告: jenkins-1.658-1.1.noarch.rpm: ヘッダ V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY
準備中...                ########################################### [100%]
   1:jenkins                ########################################### [100%]

これでJenkinsがインストールされました。

Jenkins本体のwarファイルは"/usr/lib/jenkins"に配置されます。

ちなみにJenkinsの起動は、

# service jenkins start
Starting Jenkins                                           [  OK  ]

で、エラーメッセージがなく、"[OK]"が表示されればOKです。

あとはブラウザでサーバの8080ポートにアクセスすれば、

http://xx.xx.xx.xx:8080/

Jenkinsの画面が表示されます。

なお、インストールしたサーバにはOpenJDK 1.7.0がインストールされていて、jenkinsを2017年9月現在の最新バージョン「jenkins-2.79-1.1.noarch.rpm」をインストールしたところ、Jenkinsの起動で、

# service jenkins start
Starting Jenkins Jenkins requires Java8 or later, but you are running 1.7.0_09-icedtea-mockbuild_2013_01_16_18_52-b00 from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre
java.lang.UnsupportedClassVersionError: 51.0
        at Main.main(Main.java:124)
                                                           [  OK  ]

というエラーになりました。

Javaバージョンが1.7の場合、Jenkins1.x系が対応するようです。

3.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

lessコマンドを"tail -f"として使う方法

September 21,2017 1:55 AM
Category:[Linux]
Tag:[Linux]
Permalink

lessコマンドを"tail -f"として使う方法を紹介します。

1.はじめに

tailは名前のとおり、ファイルの最後の10行を表示するコマンドです。

このコマンドに"-f"オプションをつけることで、表示したファイルが更新されて末尾行が追加されると、追加された行も表示されます。

% tail -f ファイル名

このためtailコマンドはログの監視によく使われます。

ただこのtailコマンドでファイルの前方に戻る場合、tailをCtrl-cで一旦終了させ、TeraTermなどのターミナルをスクロールし、ログ監視を再開する場合はtailコマンドを入力し直すという、ちょっと操作が面倒です。

ということで、lessコマンドを"tail -f"として使う方法を紹介します。

2.lessコマンドを"tail -f"として使う方法

lessコマンドを"tail -f"として使うには、"+F"オプションを利用します。

% less +F ファイル名

"+F"は、前方にスクロールし、ファイルの終端に達しても読み続けるオプションです。

つまりこのオプションで"tail -f"と同じように動作します。

この状態でCtrl+Cを入力すると、通常のless状態に戻ります。

通常のless状態からShift+fを入力すれば、再び監視状態になってくれ、コマンドを終了させる手間がなくなります。

Comments [0] | Trackbacks [0]

C++で#ifdef/#if defined/#elseを利用する方法

September 14,2017 12:03 AM
Category:[C/C++]
Tag:[C/C++]
Permalink

C++で#ifdef/#if defined/#elseを利用する方法を紹介します。

1.問題点

下記のサンプルコードがあります。

test.cpp

#include <stdio.h>
 
int main(void) {
#ifdef TEST
    printf("test\n");
#else
    printf("no test\n");
#endif
    return 0;
}

ビルドと実行で、

% g++ test.cpp
% ./a.out
no test

となります。

このコードで、

    printf("test\n");

の行を通過させたいのですが、方法がわかりません。

ということで、C++で#ifdef/#if defined/#elseを利用する方法を紹介します。

ちなみに"#ifdef"の部分は、下記のように"#if defined()"に置き換えることもできます。

#include <stdio.h>
 
int main(void) {
#if defined(TEST)
    printf("test\n");
#else
    printf("no test\n");
#endif
    return 0;
}

2.#ifdef/#if defined/#elseを利用する

#ifdef/#if defined/#elseを利用するには、gccに"-D"オプションを適用します。

"-D"はプリプロセッサオプション(コンパイルする前に、Cプリプロセッサにかけられる)で、フォーマットは、

-Dmacro

または、

-Dmacro=defn

のいずれかになります。

これは"-D"の後方にあるmacro(マクロ)の有効・無効を指定するもので、有効であれば、"#ifdef/#if defined()"で括られた部分がコンパイル対象になり、そうでなければ"#else"で括られた部分がコンパイル対象になります(#elseがなければコンパイル対象なし)。

上記のサンプルであれば、マクロが"TEST"なので、

% g++ -DTEST test.cpp

としてビルド・実行すれば、マクロ"TEST"が有効となるので、

    printf("test\n");

がコンパイル対象となり、結果、この行を通過します。

% g++ test.cpp

としてビルド・実行すれば、マクロ"TEST"は無効なので、

    printf("no test\n");

がコンパイル対象となり、結果、この行を通過します。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages