GitHub Pull Request Builder Plugin の PR ブランチビルドの挙動は以下のような状態で実行する

  • マージ可能な場合はベースブランチにマージされた状態 (origin/pr/{pr}/merge)
  • コンフリクトしている場合はPRブランチのHEAD状態 (commit hash)

表題の「手元ではテストが通るのに Jenkins では通らない場合」は表面上はコンフリクトはしないにも関わらず、ベース側に入った変更によってPRブランチ側が壊れることによって起こる。つまりコード上の意味がコンフリクトしているにも関わらず、表面的にマージされてテストされるため不可解な結果を生むことがある。

解決方法

  • ベースブランチをPRブランチにマージする(または rebase する)
    • 重要:GitHub 上でコンフリクト表示が出ているか否かは関係ない

PRのテスト結果の表示

GitHub 上に表示されるテスト結果のインジケータには上記のように2つのケースがあり、Jenkins 側のログを見ないと厳密に判断することができない。

GitHub 上での Conflict 表示でもある程度判断できるが、CI を通ったあとにベースブランチに変更が入って Conflict した場合は PR ブランチで再テストが走るまで過去の結果が表示されるため正確ではない。

備考

  • origin/pr/{pr}/merge は普通に clone すると含まれないため、Jenkins が存在しない謎のコミットをビルドしているようにみえる
  1. トップ
  2. tech
  3. GitHub Pull Request Builder Plugin 使っている環境で手元ではテストが通るのに Jenkins では通らない場合

3D プリンタフィラメントの湿度管理をはじめた。

フィラメントは割と吸湿するらしく、できる限りドライな状態を保たないと、最悪印刷できなくなることもあるようだ。そういえば、と考えてみると PETG でも白っぽくプリントされて表面の状態がかなり悪くなることがあった。吸湿が原因かわからないが、可能性はある。

フィラメントをすぐ使いきるようなヘビーユーザーでもないので、できるだけ品質を長くたもちたい。

吸水率

  • ABS: 0.1〜0.8%
  • PLA: 0.5%
  • PET: 0.3%

ref. http://www.kayo-corp.co.jp/common/pdf/pla_propertylist01.pdf https://www.jstage.jst.go.jp/article/fiber/59/10/59_10_P_324/_pdf

吸湿 (吸水) が原因で起こりうる問題

  • 糸ひき (加水分解による粘性低下)
  • 光沢不良
  • フロー不足
  • ノズルでのパチパチ音 (蒸気が逃げる音)
  • ノズル詰まり

アスベル キッチンボックス 17L 「ウィル」 NF-45 - アスベル

アスベル

5.0 / 5.0

食品保存用のアスベル キッチンボックス 17L 「ウィル」 NF-45というのを買ってみた。フィラメントを納めるにはちょうどいい。3リールほど入れることができる。蓋にパッキンがついていて、これで密閉度を高めるようになっている。パッキンはメーカーでスペアも販売している。

アスベルのこのボックスは完全密閉というわけではないみたいだが、後述するようにフィラメントを通す穴をあけるので、いずれにせよ完全ではなくなる。目的は水を漏らさないということではなく湿度を下げた状態をキープすることなので、乾燥剤が十分に延命できれば良い。

加工

防湿しつつフィラメントをそのままプリンタに供給したいので、加工する。

フィラメントを出す部分のパーツは Angled Dry Box Feeder with Source を使った。ドリルするときのガイドパーツまであって親切。これに以下の PC4-M6 ワンタッチ継手と、OD=4mm ID=2mm の PTFEチューブを使っている。

 -

5.0 / 5.0

フィラメントホルダーは Universal Filament Holder を使っている。これだと残念ながら3つのリールを入れることはできず、2つアクティブ+1つスタンバイという感じになる。

乾燥剤

エステー 備長炭ドライペット 引き出し・衣装ケース用 12シート入 - エステー

エステー

3.0 / 5.0

ひとまず塩化力ルシウムのものを1つ入れている。これは使い捨てだが元の体積以上に吸湿できる。

坂本石灰工業所 なんでも除湿シリカゲル 1kg - 坂本石灰工業所

坂本石灰工業所

3.0 / 5.0

またシリカゲルをリール近くにおいている。これはフライパンで炒れば再利用可能。

今一緒に入れている湿度計は20%未満になると湿度の表示を止めてしまうので、どのぐらいまで湿度が下げらているかよくわからないが、室内湿度が55%程度でもずっと20%未満なので割といいんじゃないでしょうか。

  1. トップ
  2. tech
  3. 3D プリンタフィラメントの防湿

Original Prusa MK3 のプラットフォーム(磁石でつけるシート型)には両面PEIフィルムが貼ってあるのだが、片方のフィルムが破れて剥れるようになってしまった。一度破れてしまうと、そこからどんどん破れが広がってしまう。

ということでこのPEIフィルムを剥して別のを貼りなおすことにした。

PEIフィルムを剥す

交換方法のマニュアルがある。シートを剥すまではいいんだけど、接着剤を剥すのがとてつもなく大変だった。リモネンはいまいち買えないので市販のシール剥し剤を使うのが良さそう。今回はアセトンとアルコールでやってみたけどかなり時間がかかったのでこれはおすすめしない。

公式の代替PEIフィルムは$8.96とそれほど高価なわけではないが、送料が$20以上と高いのと、一度貼ると剥すのがとてつもなく大変なのがわかったため、気がすすまなかった。

磁石にくっつくことからして、普通の鉄のシートっぽいので露出して放置すると錆が心配になる。

交換

3M 3Dプリンタープラットフォームシート3099AB(3枚入り) 330mmx270mm ABS/PLA対応 - スリーエム(3M)

スリーエム(3M)

5.0 / 5.0

3M の 3D プリンタ用プラットフォームシートを試してみることにした。一枚あたり1500円とあまり安いとはいえない。

貼るのは難しくない。ぴったりサイズではないので結構余りがでる。もったいないけどカットして捨てている。

貼ったあとに保護シートを剥すと、すべり止めがきいたような表面材質がでてくる。このため、保護シートを剥したあとにスキージで貼りつけなおすみたいなことはできないので注意。必ず保護シートを剥すまえに密着させる必要がある。

表面は白っぽくほぼ不透明なため、元のスチールプレートの文字や印刷範囲の表示はほぼ見えなくなる。

雑感

数回 PETG でプリントしてみたが、今のところはとてもいい感じ。ちなみに最初のレイヤーも 0.2mm でプリントしている。このシートの説明では 0.1mm でベストと書いてあるので推奨設定ではない。

食いつきはよく最初のレイヤーが失敗することはまずない。PETG は PEI フィルムだとくっつきすぎることがあったけど、このシートだとそこそこ広い設置面のオブジェクトでも剥すに苦労しなかった。

ただ表面がつるつるではないのでスキージはちょっと入れにくいように感じる。あんまり強力に貼りついた場合剥せなくなるかもしれない。

耐久性はまだわからない。プリントして剥すとシートの表面の何かが少しくっついて剥れていくようにも見える。

  1. トップ
  2. tech
  3. 3Dプリンタのプラットフォームシートのはりかえ